簡體   English   中英

從不同表中的兩列獲取重復項

[英]Getting Duplicates from two columns in different tables

我一整天都在看着這個。 我試圖從兩個單獨的表中的兩列返回重復項列表。

在 MYSQL 中,獲得完整外連接的唯一方法似乎是使用 UNION,我已經嘗試過:

select mobile from firstTable
group by mobile
having count(mobile) > 1
union all
select mobile from secondTable
group by mobile
having count(mobile) > 1;

但是,這會在同一個表中出現重復項,並且不會考慮跨表重復項。 我也嘗試過連接,但是我不知道如何檢查不同列中的重復項?

我的目的是獲得重復項,就好像 1 和我正在計算具有多個條目的列一樣。 任何幫助表示贊賞,干杯。

我建議先進行聯合,然后匯總組合結果:

SELECT mobile
FROM
(
    SELECT mobile FROM firstTable
    UNION ALL
    SELECT mobile FROM secondTable
) t
GROUP BY mobile
HAVING COUNT(mobile) > 1;

注意:如果在兩個表中的每一個中,給定的mobile值可能出現多次,然后使用SELECT DISTINCT mobile FROM some_table首先刪除重復項。

我是初學者,這個答案也可以幫助其他初學者找到重復項我會嘗試創建一個包含兩列的視圖以避免任何混淆

CREATE VIEW newTable as (SELECT T1.columnA, T2.columnB from table1 join table2 on T1.id=T2.id)

然后從這個新表中進行選擇

SELECT columnA, columnB, COUNT(*) FROM newTable GROUP BY A, B HAVING COUNT(*) > 1

輸出應該是在 A 列和 B 列中重復的行,而不是像下面的例子那樣單獨出現:

T1(我在店里有的水瓶)和T2(已購買的水瓶)並說我想知道我有多少個同品牌的水瓶以及這個品牌被這張簽證卡購買了多少次...這就是我理解你想要做的輸出應該是這張表圖片

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM