Правильный ли запрос и как переделать в LINQ
От: Grog13 Финляндия  
Дата: 29.05.09 13:45
Оценка:
Есть табличка T1

ID [PK]
SomeFields


и есть табличка T1_States
ID [PK],
TID [FK T1.ID],
State


Мне нужно выбрать из T1 все записи,
в истории состояний которых была бы хоть одна из следующий State IN (1,2,3,4,5),
но не было ни одного из состояний State NOT IN (8,9,10)

SELECT *
FROM T1
WHERE id IN
(
        SELECT DISTINCT TID
            FROM T1_States
            WHERE State IN (1,2,3,4,5)
)
AND
id NOT IN
(
        SELECT DISTINCT TID
            FROM T1_States
            WHERE State IN (6,7,8)
)


Насколько кривой это запрос и как его записать в LINQ виде?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.