我有以下2个表t1,t2,其值为
t1 t2
1 4
2 2
3 3
现在我要输出
1
4
如何在选择查询中获得此输出?
答案 0 :(得分:5)
这将为t1
中的t2
中的每个项目以及t2
中t1
中不存在的select t1.id from t1
left join t2 on t2.id = t1.id
where t2.id is null
union all
select t2.id from t2
left join t1 on t1.id = t2.id
where t1.id is null
中的每个项目提供:
id
(我假设每个表中的字段名称都被命名为select coalesce(t1.id, t2.id)
from t1
full outer join t2 on t2.id = t1.id
where t1.id is null or t2.id is null
,只是为了能够针对表编写查询。)
另一种方式是:
{{1}}
答案 1 :(得分:0)
您可以在MySql中使用Joins继续并获取结果。
这对你有所帮助 http://www.techrepublic.com/article/sql-basics-query-multiple-tables/1050307答案 2 :(得分:0)
另一种方式。只计算他们。
如果每个表的值是唯一的
,则此方法有效SELECT
CombinedValue
FROM
(
SELECT t1 AS CombinedValue FROM t1
UNION ALL
SELECT t2 FROM t2
) foo
GROUP BY
CombinedValue
HAVING
COUNT(*) = 1
如果每张桌子不唯一
SELECT
CombinedValue
FROM
(
SELECT DISTINCT t1 AS CombinedValue FROM t1
UNION ALL
SELECT DISTINCT t2 FROM t2
) foo
GROUP BY
CombinedValue
HAVING
COUNT(*) = 1