2017-02-16 162 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」

謝謝!