2017-02-16 123 views
0

我有2个表,他们都有一个名为“palin”的varchar(10)字段,我想要MySQL查询以接收来自2的所有不同“palin”值表和计算有多少行总共有每个 “帕林” 值,如:MySQL从2个表中选择不同的值和计数

表1:ID1/palin1,ID2/palin2,ID3/palin3

表2:ID1/palin1,ID2/palin3,ID3/palin4

结果:palin1/2,palin2/1,palin3/2,palin4/1

我已经做了2曲通过使用“SELECT DISTINCT palin,COUNT(*)FROM table1 GROUP BY palin”,然后“SELECT DISTINCT palin,COUNT(*)FROM table2 GROUP BY palin”,然后将两个COUNTS相加, d需要在一个查询中完成。

提前致谢!

+0

我也做了这两个表中的所有不同的“palin”值,但没有COUNT:“SELECT DISTINCT palin FROM(SELECT palin FROM table1 UNION SELECT palin FROM table2)t GROUP BY palin” – Puni

+0

我刚刚发现在另一个主题的答案,无论如何,对不起: http://stackoverflow.com/questions/6712127/select-countdistinct-name-from-several-tables?rq=1 – Puni

回答

0

它不明白为什么要合并到不同的值从2个表,但尝试以下方法:

select distinct palin, count(palin) from table1 union all select distinct palin, count(palin) from table2 group by palin; 

联盟都没有筛选出相同的记录,工会一样。

希望这会有所帮助。

+0

确切的查询似乎是: “ SELECT x.palin,COUNT(x.palin)FROM(SELECT palin FROM table1 UNION ALL SELECT palin FOM table2)x GROUP BY x.palin“ – Puni

0

准确的查询似乎是: “选择x.palin,COUNT(x.palin)FROM(SELECT佩林FROM表1 UNION ALL SELECT佩林FOM表2)X GROUP BY x.palin”

谢谢!