2024年4月21日 星期日

MYSQL IN 雙查詢條件(A,B) IN ((A1, B1), (A2, B2), ...)與多條件(A, B, C) IN ((A1, B1, C1), (A2, B2, C2), ...);

如果有兩個條件要查詢,但是這條件是多組成對的條件,例如A1與B1一組, A2與B2一組以此類推這樣做查詢,且這兩個條件是超過100組的,我該怎做?


假設你有一個表 your_table,包含欄位 A 和 B,你想要查詢符合多組成對條件的記錄,可以像這樣組合你的查詢:

SELECT * 

FROM your_table

WHERE (A, B) IN ((A1, B1), (A2, B2), ...);

這樣的查詢將同時匹配所有組合 (A1, B1)、(A2, B2) 等。請確保將實際的值替換為你的組合數據。

在這個範例中,A 和 B 是你表中的欄位名稱,而 (A1, B1)、(A2, B2) 等則是你要查詢的具體值。這個查詢將返回表中符合給定條件的記錄。請確保將 your_table 替換為你實際的表名,A1、B1、A2、B2 等則替換為你要查詢的實際值。

如果變成3個查詢條件則....
SELECT * 
FROM your_table
WHERE (A, B, C) IN ((A1, B1, C1), (A2, B2, C2), ...);

若有更多查詢條件,則以此類推歐。


沒有留言:

張貼留言

職場毒癌:你憑什麼以為你十年寒窗,抵得我三代從商

你憑什麼以為你十年寒窗,抵得我三代從商——這句話已經記不得是從哪裡看到的,可能是某部劇,也可能是某篇 FB 文章標題。 但最近,特別有感。 為什麼會有這種感觸? 職場上有個同事,一路慢慢升到課長,好歹也是管理職,雖說不上鐵飯碗,但在多數人眼裡也算穩定。 結果呢?輾轉換了兩個製造課...