2010-05-13 28 views
1

我有一個選擇左連接查詢whis顯示最近更改過的行(其一次)列名稱(「字段」不應該相等)列名(「的TrackID」不應該是相等的),並且列名「操作應該是‘UPDATE’」,下面是我講的查詢......想要避免選擇連接查詢中的特定行...請參閱描述

SELECT j1. * 
FROM jos_audittrail j1 
LEFT OUTER JOIN jos_audittrail j2 ON (j1.trackid != j2.trackid 
AND j1.field != j2.field 
AND j1.changedone < j2.changedone) 
WHERE j1.operation = 'UPDATE' 
AND j2.id IS NULL 

我與字段值作爲結果要麼「lastvisitDate」或「命中」

現在,我不希望一行顯示兩個特定列的值,即「字段值」的值是「lastvisitDate」和「命中」

現在,如果我追加條件在上面的查詢 「AND j1.field!=‘lastvistDate’AND j1.field!=‘命中’」 的話,我沒有得到任何結果...

表結構是

jos_audittrail:

  1. ID
  2. 的TrackID
  3. 操作
  4. OLDVALUE
  5. NEWVALUE
  6. table_name的
  7. 現場
  8. changedone(其時)

我希望我給出的細節正確。如果你仍然覺得缺少些什麼,我會盡量提供它更好的方法...

請幫我避開那些提到的值「字段」的那兩行

+0

你可以給你輸出之前得到的一個例子添加不起作用的子句? – 2010-05-13 10:45:16

+0

我正在觸發這個查詢來獲取更新操作所做的最新更改......它根據上面描述的表結構記錄在jos_audittrail表中。 – 2010-05-13 10:47:30

回答

1

我改變了我的選擇查詢這樣的,我得到的結果,我需要

SELECT j1. * 
FROM jos_audittrail j1 
LEFT OUTER JOIN jos_audittrail j2 ON (j1.trackid != j2.trackid 
AND j1.field = j2.field 
AND j1.changedone < j2.changedone) 
WHERE j1.operation = 'UPDATE' 
AND j2.id IS NULL AND j1.field != 'lastvisitDate' AND j1.field != 'hits' 

感謝Pranav的支持的方式...... :)