Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
TSQL 2000/2005 Query Conundrum
Message
 
 
To
10/12/2007 11:19:12
General information
Forum:
Microsoft SQL Server
Category:
SQL syntax
Environment versions
SQL Server:
SQL Server 2005
Miscellaneous
Thread ID:
01274411
Message ID:
01274479
Views:
9
You're welcome.

>You're right. I should have caught that. Thanks so much Sergey!
>
>
>>Why repeat the same conditions twice? Try
>>
>>SELECT i.* from table1 i
>>	  WHERE (i.field1 = 'FA' and field2 IN('AAA','BBB') AND i.field3 = 0)
>>       		AND NOT EXISTS (SELECT * from table3 a WHERE a.table2id = i.table2id AND a.field4 = i.field4))
>>  			AND (EXISTS (SELECT * from table2 s WHERE s.table2id = i.table2id AND s.fielda <> 'X' AND s.fieldb <> 'I')
>>    				OR NOT EXISTS (SELECT * from table2 s WHERE s.table2id = i.table2id))
>>
>>>I think this works:
>>>
>>>SELECT i.* from table1 i
>>>  WHERE (((i.field1 = 'FA' and (field2 = 'AAA' or field2 = 'BBB') AND i.field3 = 0)
>>>     AND EXISTS (select * from table2 s where s.table2id = i.table2id AND s.fielda <> 'X'
>>>                    AND s.fieldb <> 'I')
>>>     AND NOT EXISTS (SELECT * from table3 a where a.table2id = i.table2id
>>>                      AND a.field4 = i.field4))
>>>    OR
>>>      ((i.field1 = 'FA' and (field2 = 'AAA' or field2 = 'BBB') AND i.field3 = 0)
>>>            AND NOT EXISTS (select * from table2 s where s.table2id = i.table2id)
>>>            AND NOT EXISTS (SELECT * from table3 a where a.table2id = i.table2id
>>>                             AND a.field4 = i.field4)))
>>>
--sb--
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform