[英]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.