[英]SELECT LAST ROW WITH AN INNER JOIN
我有兩個關系表 [category] 和 [briefs]。 我想從簡報中選擇最后一行 WHERE Briefs.category_id = category.category_id;
[Category]
category_id
category_name
[briefs]
brief_id
category_id
brief_file_num
brief_date
"SELECT brief_file_num,category_id FROM briefs,category
WHERE briefs.category_id = category.category_id ORDER BY briefs.brief_file_num
DESC LIMIT 1";
我收到以下錯誤: "Column 'category_id' in field list is ambiguous"
即使兩個類別具有相同的值。 您還需要指定您引用的表,因為兩者都有一個具有該名稱的列
也使用顯式JOIN
sintaxis,Aaron Bertrand 寫了一篇很好的文章踢壞習慣:使用舊式 JOIN關於它。
SELECT briefs.brief_file_num,
briefs.category_id
FROM briefs
INNER JOIN category
ON briefs.category_id = category.category_id
ORDER BY briefs.brief_file_num
DESC LIMIT 1"
兩個表都有一個category_id
,這是不明確的。 使用category.category_id
代替!
SELECT brief_file_num,category.category_id FROM briefs,category
WHERE briefs.category_id = category.category_id ORDER BY briefs.brief_file_num
DESC LIMIT 1
您應該明確添加表名以避免歧義
"SELECT briefs.brief_file_num, briefs.category_id
FROM briefs,category
WHERE briefs.category_id = category.category_id ORDER BY briefs.brief_file_num
DESC LIMIT 1";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.