以下查询显示了table1和table2中Mascot + Zip匹配字段的行。大!问题是这可能会返回多个匹配和可能的误报。为了避免这种情况,我只希望查询在只有1个匹配时返回结果。我下面的代码将返回Tigers:47483行。如果有超过1个匹配,我不想要任何返回。如何设置此限制?
.bash_profile
非常感谢任何帮助。
答案 0 :(得分:0)
约翰的答案,
SELECT *,count(*) FROM sports1 t1
JOIN sports2 t2 ON (t1.Mascot=t2.Mascot AND t1.Zip=t2.Zip)
GROUP BY 1,2 HAVING count(*)=1;
对于“ONLY_FULL_GROUP_BY”错误,请运行:
SET sql_mode ='';
答案 1 :(得分:-1)
SELECT t1.Mascot,t1.Zip 来自Sports1 t1,Sports2 t2 WHERE(t1.Mascot = t2.Mascot AND t1.Zip = t2.Zip)GROUP by t1.Mascot,t1.Zip 有计数(DISTINCT t1.Mascot,t1.Zip)= 1;
使用此功能,您只能获得1场比赛