繁体   English   中英

使用内部连接选择最后一行

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM