这就是我所拥有的: 1.我有一个名为“International_Codes”的表,有2列(int_code_id,desc) 2.我有另一个名为“size_charts”的表,它有(int_code_id,xs,s,m,l,xl)
我有一个“选择列表”,其中包含除“size_charts”表中已有的所有“国际代码”。
这就是我的所作所为:
SELECT international_codes.int_code_id, international_codes.desc
FROM international_codes, size_charts
WHERE international_codes.int_code_id <> size_charts.int_code_id
它给了我重复的条目和错误的数据。 我也尝试使用join left,但得到错误的数据。
答案 0 :(得分:1)
你应该使用LEFT JOIN:
SELECT international_codes.int_code_id, international_codes.desc
FROM international_codes LEFT JOIN size_charts
ON international_codes.int_code_id = size_charts.int_code_id
WHERE size_charts.int_code_id IS NULL
将返回international_codes
的所有行,只返回匹配的size_charts
行。如果没有匹配,size_charts.int_code_id
将为NULL。
选择size_charts.int_code_id IS NULL
所有行将返回size_charts表中没有匹配的international_codes中的所有行。