我有兩個具有相同(6)列和不同條目的表。我希望獲得具有相同列的「主」表,其中包括表A和B中的每個唯一條目。每個表上不存在主鍵或外鍵,並且條目的「唯一性」由每個表6個字段與另一個條目相同。換句話說,如果條目x的列1等於條目y的列1,並且所有其餘的列也相同,則這兩個條目被認爲是非唯一的,無論它們是存在於同一個表中還是存在於不同的表中。我研究並找到了類似的解決方案,但都沒有解決這個問題。有什麼想法嗎?簡單的SQL操作 - 連接兩個具有相同列且沒有主鍵/外鍵的表
0
A
回答
1
一個UNION
肯定這裏的需要是什麼,但也有在查詢一些無關物品從@PhilCross:
的
GROUP BY
不需要平坦化結果,因爲UNION
在所有列上進行選擇時自然會這樣做。同樣,
HAVING
也不需要。MySQL中會忽略
UNION SELECT
查詢中的列別名,因爲第一個SELECT
列表確定結果的列名。 (a)所有SELECT
語句中的相同列數和(b)相應列的兼容數據類型 - 可以是相同的也可以是隱式可轉換的。圓括號也不是必需的,但是如果它使得查詢更易讀,那麼應該包含它們。
所以,你真正需要的是這樣的:
SELECT column1 AS column1, column2 AS column2, column3 AS column3
FROM table1
UNION SELECT column1, column2, column3
FROM table2
1
您可以只使用一個聯合聲明:
(
SELECT column1 AS column1, column2 AS column2, column3 AS column3
FROM table1
) UNION (
SELECT column1 AS column1, column2 AS column2, column3 AS column3
FROM table2
)
GROUP BY column1, column2, column3
HAVING COUNT(column1, column2, column3)>0
+0
謝謝您的回覆! – user2429042
相關問題
- 1. 連接具有相同主鍵的表
- 2. 內部連接兩個表,都有沒有主鍵的外鍵?
- 3. 連接兩個表的主鍵和外鍵具有不同格式
- 4. 兩個相連的表中有相同的記錄具有相同的外鍵
- 5. 具有相同唯一列的表的主鍵或外鍵
- 6. SQL,兩個外鍵引用另一個表的相同主鍵
- 7. 連接兩個表有兩個外鍵
- 8. 具有相似列但主鍵不同的兩個表格
- 9. T-SQL - 連接沒有主鍵的兩個表
- 10. 導軌模型 - 兩個表具有相同的主鍵和外鍵字段
- 11. 在沒有連接兩個表的情況下選擇一列(具有外鍵)
- 12. SQL兩條表具有相同的主鍵
- 13. 具有主鍵的兩列而不是具有一個主鍵的兩列
- 14. SQL內部連接具有相同列名的兩個表
- 15. 創建具有複合主鍵的表引用兩個外鍵
- 16. 數據庫規範化 - 兩個具有相同主鍵的表?
- 17. 將具有相同主鍵的兩個表規格化爲3NF
- 18. 合併具有相同主鍵的兩個表
- 19. 連接操作的主鍵?
- 20. 沒有主鍵的連接表
- 21. 創建沒有主鍵的連接表
- 22. 外鍵相同的主鍵
- 23. 加入3和表2具有主鍵和第三個具有兩個外鍵
- 24. 外鍵必須與引用的主鍵具有相同的列數。但我沒有使用複合鍵
- 25. Nhibernate:外鍵必須與引用的主鍵具有相同的列數
- 26. Laravel將外鍵引用移動到具有兩列的主鍵?
- 27. 具有包含2列的主鍵的表的外鍵引用
- 28. 使用兩列具有相同的外鍵
- 29. 如何創建具有相同外鍵的兩列
- 30. 外鍵必須與引用的主鍵具有相同的列數
謝謝你澄清以前的答案,我相信我會一起去。 – user2429042
+1,有趣的讀:) –