我在數據庫中有兩個表。 1)tbl_lab_checkup 2)tbl_lab如果記錄存在,匹配數組中的所有記錄MySQL查詢
tbl_lab具有實驗室的所有記錄,tbl_lab_checkup具有所有記錄ø檢查該實驗提供。
以下是在表
1) tbl_lab_checkup
-- labcheckupid (pk)
-- labid (fk)
-- checkupid (fk)
-- cost
-- discount
2) tbl_lab
-- labid (pk)
-- labname
-- labarea (fk)
字段我有 'areaID表示'= 1和在陣列 'checkupid' 我與聯繫 「」(1,2)。
我想是讓所有在areaID表示= 1可用的lablist誰提供了一個陣列(1,2)
我嘗試下面的查詢,但即時得到錯誤的結果所有的檢查。
SELECT tlc .* FROM tbl_lab_checkup tlc
INNER JOIN tbl_lab lb ON
tlc.labid = lb.labid
WHERE
tlc.checkupid IN (1,2) AND lb.labarea=1
GROUP BY lb.labid
即使實驗室只提供一個id在數組中也返回結果。任何人都可以爲此解決。
檢查小提琴:http://sqlfiddle.com/#!2/5c674/1
是的,這應該工作lemme嘗試。 :) – Mahendra
它會在所有情況下工作嗎?我的意思是如果lab2有1個共同的和另一個不在陣列中的檢查?它會給同樣的結果嗎? – Mahendra
是的,它應該,你有測試數據嗎? – vee