我在MySQL中有一个带有以下定义的表A
----------------------------------
id c_id t_id
-------------------------------
其中c_id使用以下定义
引用另一个表B上的cid================================================
id cid cname
=================================================
所以我发出以下查询
select group_concat(cname) as list
from A join B using (cid)
where t_id="something";
但是我收到以下错误
Unknown column "cid" in from clause
我尝试将其更改为“c_id”,但这似乎不起作用..
感谢任何帮助。
由于
答案 0 :(得分:15)
USING
只是标准ON
子句的简短形式,只有在两个表中列名相同时才有效。
来自the manual:
USING(column_list)子句指定必须存在的列的列表 在两个表中。
相反,这样做:
select group_concat(B.cname) as list
from A
inner join B on A.c_id = B.cid
where A.t_id = 'something';
答案 1 :(得分:2)
两列都需要相同的名称:c_id或cid 然后using子句将起作用
答案 2 :(得分:0)
你可以使用
select group_concat(cname) as list
from A join B using (c_id)
where t_id="something";
但c_id
在表格中很常见。