我試圖根據給定的值合併另一個表上的一個表。但是,它並不像JOIN那麼簡單。 (我在網上發現了很多JOIN示例,但沒有一個是這樣的,而且,我在DB查詢方面的表現並不令人難以置信。)MySQL基於表B行中的值將表B合併到表A中
有關我想要完成的一個簡單示例,可以說我運行電腦商店,向多個人出售多臺電腦。無論出於何種原因,這些機器都會定期與我聯繫,並且我想知道我的哪些客戶有一臺當前處於脫機狀態的機器。但是,如果他們至少有一臺機器在線,我不希望看到他們擁有的任何在線或離線機器。
我的查詢到目前爲止是這樣的:
SELECT *
FROM Computers
LEFT JOIN Computers_On_Customers ON Computer_ID = Computers.ID
LEFT JOIN Customers ON Computers_On_Customers.Customer_ID = Customers.ID
WHERE Computers.Currently_Online LIKE "0"
但是,如果一個客戶有2臺電腦,每一個狀態,它會顯示一臺電腦,當我想讓它顯示兩者都不是。 (因爲一個人目前處於離線狀態,所以我不在乎在線的人。)我怎麼能解決這個問題?
這裏是我的數據庫的粗略視覺近似:
Customers:
ID Other Stuff
Computers_On_Customers
ID Customer_ID Computer_ID
Computers:
ID Currently_Online
任何幫助將不勝感激。
仍在掙扎?考慮提供適當的DDL(和/或一個sqlfiddle)與期望的結果集合 – Strawberry
感謝您的幫助傢伙!所有3個查詢都很有趣,並且讓我看起來很棒。我不確定哪一個答案是「一個真正的答案」,但我會在有一個答案時更新。再次感謝! – Dwebtron