有誰知道如何反轉下面的mysql查詢?如何反轉mysql查詢?
select *
from test_results
where TESTERID='3'
and TESTID IN (select TESTID
from tests
where TESTSREQUESTED > '0'
AND TESTSREQUESTED > TESTSREQUESTEDTAKEN);
謝謝!
有誰知道如何反轉下面的mysql查詢?如何反轉mysql查詢?
select *
from test_results
where TESTERID='3'
and TESTID IN (select TESTID
from tests
where TESTSREQUESTED > '0'
AND TESTSREQUESTED > TESTSREQUESTEDTAKEN);
謝謝!
試試這個
select * from test_results where TESTERID!='3' and TESTID NOT IN (select TESTID from tests where TESTSREQUESTED>'0' AND TESTSREQUESTED>TESTSREQUESTEDTAKEN)
刷新時間[摩根法則](http://en.wikipedia.org/wiki/De_Morgan%27s_laws)(或重新閱讀問題) –
已經嘗試過但沒有工作。謝謝 – user1774442
select * from test_results where not (TESTERID='3' and TESTID IN (select TESTID from tests where TESTSREQUESTED>'0' AND TESTSREQUESTED>TESTSREQUESTEDTAKEN))
仍然沒有好處。它仍然返回ID爲3的測試人員。@melpomene – user1774442
這是怎麼回事?你的原始查詢不會返回帶有id的所有*行。我的查詢返回其餘的(因爲它是相反的)。 – melpomene
試試這個::
select
*
from test_results tr
INNER JOIN tests on (tests.TESTID=tr.TESTID)
where tr.TESTERID!='3'
OR (tests.TESTERID!='3' AND tests.TESTSREQUESTED<'0' AND TESTSREQUESTED<TESTSREQUESTEDTAKEN)
你好。 where子句中的testerid不明確。謝謝。 – user1774442
更新了我的查詢,請現在檢查,我已經使用了join,這比幾乎在那裏的子句 –
中的子查詢快速和高效。這部分仍然不起作用。或者(tests.TESTSQUESTEST <'0'和TESTSQUESTED
你是什麼意思爲 「反」? –
你是什麼意思的反查詢。請稍微解釋一下。 –
是否有'testerid'和'TESTSQUQUESTED'數字列?如果是,你不應該將它們與字符文字進行比較。請使用「真實」數字:'testerid = 3','TESTSQUQUESTED> 0' –