提问人:linhcheee 提问时间:8/8/2022 最后编辑:marc_slinhcheee 更新时间:8/9/2022 访问量:257
SQL 中不是唯一的表/别名
Not unique table/alias in SQL
问:
我试图创建一个新表,其中包含来自 2 个表和 .两个表都有一列,但值不同;两个表都有一列(相同的值),这是我尝试匹配的列。province
district_ward
NAME
PROVINCE_ID
预期输出为
PROVINCE_ID / NAME / NAME
通过列查找所有匹配项 NAME = “Vung Tau” in province。NAME
district_ward
PROVINCE_ID
这是我的查询,但它抛出了一个错误
1066:“非唯一表/别名”
USE db1;
SELECT province.PROVINCE_ID, province.NAME, district_ward.NAME
FROM province as p, district_ward as d
INNER JOIN d ON p.PROVINCE_ID=d.PROVINCE_ID and p.NAME = "Vũng Tàu"
GROUP BY p.PROVINCE_ID
答:
0赞
Nima Souri
8/8/2022
#1
也许你应该试试这个:
USE db1;
SELECT province.PROVINCE_ID, province.NAME, district_ward.NAME
FROM province as p
INNER JOIN district_ward as d USING (PROVINCE_ID)
WHERE p.NAME = "Vũng Tàu"
GROUP BY p.PROVINCE_ID;
评论
0赞
jarlh
8/8/2022
我预计这里会出现错误。 意味着您无法访问省份。PROVINCE_ID了。USING (PROVINCE_ID)
0赞
Rick James
8/9/2022
不错的尝试,但问题是问题,不是.d
province_id
0赞
Rick James
8/9/2022
#2
不要使用“逗号 JOIN”
FROM province as p, district_ward as d
INNER JOIN d ON ...
相反,请执行
FROM province as p
INNER JOIN district_ward as d ON ...
((可选)使用 instead of -- 但这不是问题所在。USING
ON
评论
...FROM province as p INNER JOIN district_ward as d ON ...
.JOIN
INNER JOIN