酷!學園

技術討論區 => database 討論版 => 主題作者是: NARs 於 2012-03-13 12:32

主題: SQL 條件查詢?
作者: NARs2012-03-13 12:32
請問各位大大,
要怎麼取出同時有兩個條件的情況下的紀錄?
stime 是 2012-03-12 而且 etime 是null 以及 etime 是 2012-03-12的紀錄?
ID stime etime
1 2012-03-10 15:48:05 2012-03-12 10:48:05
2 2012-03-11 07:48:05 null
3 2012-03-12 08:48:05 null
4 2012-03-12 09:48:05 null
5 2012-03-12 15:48:05 2012-03-12 17:48:05
6 2012-03-12 18:45:05 2012-03-12 19:48:05



以上面的例子的話,取出的紀錄應該是 5筆
1 2012-03-10 15:48:05 2012-03-12 10:48:05 // etime 是 2012-03-12
3 2012-03-12 08:48:05 null //stime 是 2012-03-12 而且 etime 是null
4 2012-03-12 09:48:05 null //stime 是 2012-03-12 而且 etime 是null
5 2012-03-12 15:48:05 2012-03-12 17:48:05 // etime 是 2012-03-12
6 2012-03-12 18:45:05 2012-03-12 19:48:05 // etime 是 2012-03-12
主題: Re: SQL 條件查詢?
作者: twu22012-03-13 13:06
這不是很基本的 SQL 條件查詢嗎?
你是有那兒想不通的呢?
主題: Re: SQL 條件查詢?
作者: NARs2012-03-13 13:22
原來可以用or 來解決,已經解決了,感謝大大的回覆
主題: Re: SQL 條件查詢?
作者: NARs2012-03-16 11:47
各位大大,
原本以為可以用OR來解決,但是好像查詢結果還是有錯誤的

stime 是 2012-03-12 而且 etime 是null 以及 etime 是 2012-03-12的紀錄?
ID      ip                           create                                           update
1      192.168.1.5            2012-03-10 15:48:05                2012-03-12 10:48:05
2      192.168.1.2              2012-03-11 07:48:05               null
3      192.168.1.3             2012-03-12 08:48:05                null
4      192.168.1.1             2012-03-12 09:48:05                null
5      192.168.1.6             2012-03-12 15:48:05                2012-03-12 17:48:05
6      192.168.1.7              2012-03-12 18:45:05                2012-03-12 19:48:05

我想查詢條件 是ip = 192.168.1.1 , 而且取出的日期限制是 (1)create是2012-03-12 而且update是null (代表資料是2012-03-12新增的資料)或是
(2) update是2012-03-12 (資料是2012-03-12更新的資料)
也就是我想取出192.168.1.1 是2012-03-12新增或是更新的資料


以上面的例子的話,取出的紀錄應該是 1筆
4      192.168.1.1             2012-03-12 09:48:05                null


所以我下的SQL查詢是:

 select * from A_TABLE  where ip = '192.168.1.1' and create like '2012-03-12 %' and update is null or update like '2012-03-12 %' ;

但是卻取出4筆
1      192.168.1.5            2012-03-10 15:48:05                2012-03-12 10:48:05
4      192.168.1.1             2012-03-12 09:48:05                null
5      192.168.1.6             2012-03-12 15:48:05                2012-03-12 17:48:05
6      192.168.1.7              2012-03-12 18:45:05                2012-03-12 19:48:05
主題: Re: SQL 條件查詢?
作者: hoyo2012-03-16 11:56
是 「什麼東西」 和  「什麼東西」  要 OR 的

請用括弧把他包起來

EX:  (  ip=A or  ip=B )