我一直在試圖從兩個表中同時選擇所有內容。從兩個表中選擇所有行
不幸的是,我沒有創建數據庫,我不能將它合併到一個表中。
我嘗試這樣做,但它不工作: (SELECT * FROM 'contacts') UNION (SELECT * FROM 'signup')
兩個表是相同的。這不,雖然工作:(
我一直在試圖從兩個表中同時選擇所有內容。從兩個表中選擇所有行
不幸的是,我沒有創建數據庫,我不能將它合併到一個表中。
我嘗試這樣做,但它不工作: (SELECT * FROM 'contacts') UNION (SELECT * FROM 'signup')
兩個表是相同的。這不,雖然工作:(
你就不能這樣做:
SELECT * FROM contacts, signup;
還是我不理解你的問題
編輯:
相反,如果你試試這個」重新尋找聯盟:
SELECT * FROM contacts
UNION
SELECT * FROM signup;
啊哈!這有效,但我得到每一行的重複。 –
不,這是一個不同的輸出。這導致了一個笛卡爾積 - 所有的'contacts'行都乘以'signup'的所有行。 –
@Neurofluxation不要使用它,因爲它不是連接兩個表的正確方法。即使您添加了「DISTINCT」來重複刪除行,這是一個連接查詢,而不是您顯然要查找的聯盟。 –
您的語法不正確。表不應該用撇號引用。他們可以(但不一定是)反引號引用。
SELECT columns FROM contacts UNION SELECT columns FROM signup
將columns
替換爲您要選擇的列。另請注意,這將首先選擇全部行中的contacts
行,然後再選擇signup
行。
它爲什麼不起作用?它是否給出了一個錯誤,說您在兩個查詢中都沒有選擇相同數量的字段? – Linger
向我們展示表結構以查看可能缺少的內容。不要忘記添加列數據類型。 –
永遠不要在'UNION'查詢中選擇*'。即使你相信它們是相同的,也要明確每個「SELECT」列表中列的順序。 –