我基本上試圖編寫一個查詢,如果在最近200天內發生事件,它將顯示列值爲A,B,C, d,E,F 但在這同一查詢,如果事件不中的過去200天內發生(201天&以後),它只會在列A和B.顯示值用SQL中的空值或空值替換非空值SELECT查詢
我目前的查詢我試着使用UNION語句來執行兩個選擇語句。我嘗試在UNION之後爲SELECT列C,D,E和F做CASE語句,但我無法使其工作。
此當前查詢顯示所有列的所有值,而不管它是否出現<或> 200天。
SELECT te.columna,
\t c.columnb,
\t te.columnc,
\t v.columnd,
\t v.columne,
\t v.columnf
\t FROM \t table1 te, table2 c, table3 v
\t WHERE te.columng_id=c.columng_id
\t AND v.columne=te.columne
\t AND te.columnc > sysdate-200
\t UNION
\t SELECT te.columna,
\t c.columnb,
\t te.columnc,
\t v.columnd,
\t v.columne,
\t v.columnf
\t FROM \t table1 te, table2 c, table3 v
\t WHERE te.columng_id=c.columng_id
\t AND v.columne=te.columne
\t AND te.columnc < sysdate-200
的MySQL或Oracle?他們不一樣。 – Barmar
Oracle,對不起。我是新來的整個SQL的東西,所以我一直忘記哪一個是哪個。我正在使用SQL Plus來執行此查詢。 – Tootally
我必須注意到,使用'te.columnc> sysdate-200'和'te.columnc')和「小於或等於」('<=')或者「小於」('<')「大於或等於」 > =')。您可能還想使用'TRUNC()'函數截斷日期。 –