[英]How would I select and display the most recently added rows from a SQL table?
[英]Trying to select all the records from table B that have the same name as most recently added record from table A
我正在使用php和MySQL。 我有兩張桌子。 我想從表PARTS
中選擇所有prod_name與表PRODUCTS
最近添加的記錄具有相同prod_name的記錄。
餐桌PRODUCTS
:
表PARTS
:
這項工作還是應該使用某種聯接?
SELECT * FROM parts WHERE prod_name = (SELECT prod_name FROM products ORDER BY id DESC LIMIT 1)
是的,它將起作用。 您始終可以在phpmyadmin或MySql查詢瀏覽器中執行查詢以對其進行測試。
最好返回插入的ID,然后使用該ID進行選擇。
SELECT
parts.*
FROM
parts
INNER JOIN
products
ON
products.prod_name = parts.prod_name
WHERE
products.id = (SELECT MAX(id) FROM products)
那應該起作用-但是,如果產品具有自動增量ID,那么為什么要使用prod_name作為PARTS表中的外鍵?
如果用戶想更改prod_name(除非您不介意他們失去連接,否則您必須仔細檢查並更改所有PARTS上的prod_name),這樣的設計會為您帶來額外的工作。
再加上空間效率不高(除非prod_name總是很短)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.