l********u 发帖数: 195 | 1 OrderNo lineNo Status LineType Date1 Date2
1 0001 99 T 07092002(date1)
1 0002 99 S 07012002(date2)
1 0003 50 S
2 0001 99 S 07012002(date2)
2 0002 99 S 07012002(date2)
3 0001 50 T 07092002(date1)
3 0002 99 S 0 |
t*****g 发帖数: 1275 | 2 用两个not in在你的where clause里面应该可以作出来
【在 l********u 的大作中提到】 : OrderNo lineNo Status LineType Date1 Date2 : 1 0001 99 T 07092002(date1) : 1 0002 99 S 07012002(date2) : 1 0003 50 S : 2 0001 99 S 07012002(date2) : 2 0002 99 S 07012002(date2) : 3 0001 50 T 07092002(date1) : 3 0002 99 S 0
|
x***e 发帖数: 2449 | 3 "in" is OK, "not in" is not efficient. |
c********n 发帖数: 5 | |
B*****g 发帖数: 34098 | 5 ***Ban Er Zhuan is welcome***
1. why orderno 3 is in 08/30/02--09/10/02?
2.please provide database structure and index for a better solution
3. my sql statemnt (change date to 06/30/02--09/10/02)
SELECT *
FROM TBL t1
WHERE NOT EXISTS ( SELECT 1
FROM TBL t2
WHERE t2.OrderNo = t1.OrderNo
AND (
(((t2.Status != 99) OR (t2.Status IS NULL))
AND ((t2.LineType != 'T') OR (t2.LineType IS NULL)))
【在 l********u 的大作中提到】 : OrderNo lineNo Status LineType Date1 Date2 : 1 0001 99 T 07092002(date1) : 1 0002 99 S 07012002(date2) : 1 0003 50 S : 2 0001 99 S 07012002(date2) : 2 0002 99 S 07012002(date2) : 3 0001 50 T 07092002(date1) : 3 0002 99 S 0
|