2013-03-28 160 views
-3

我有這個疑問:MySQL查詢重複

SELECT r.id, r.RowID, r.RAMQ, r.Type, r.Description, r.Deleted 
FROM reminders r, patientdetails 
WHERE (patientdetails.RAMQ = r.RAMQ OR r.RAMQ='none') 
AND r.Deleted != '1' 

當此查詢運行時,它複製的是有沒有RAMQ結果。這是爲什麼?

+2

你應該閱讀abouts連接。 –

+0

此問題沒有顯示任何研究工作。 **做你的作業很重要**。告訴我們你發現了什麼,***爲什麼它不符合你的需求。這表明你已經花時間去嘗試幫助你自己了,它使我們避免重申明顯的答案,最重要的是它可以幫助你得到更具體和相關的答案。 [FAQ](http://stackoverflow.com/questions/how-to-ask)。 – Kermit

+0

你可以發佈一些樣本數據,然後期望的結果? – Taryn

回答

2

我想你只需要一張表的數據。所以,不要使用聯接(這是一個隱藏加入你有沒有),但一個子查詢EXISTS

SELECT r.id, r.RowID, r.RAMQ, r.Type, r.Description, r.Deleted 
FROM reminders AS r 
WHERE (r.RAMQ = 'none' 
     OR EXISTS 
      (SELECT * 
      FROM patientdetails AS p 
      WHERE p.RAMQ = r.RAMQ 
     ) 
     ) 
    AND r.Deleted <> '1' ; 
+0

美麗的答案!非常感謝你。 –