Использование нескольких значений в SQL-запросе where - PullRequest
5 голосов
/ 13 апреля 2011
Select Distinct
  SomeDay.SomeDayID, SomeDay.FolderName, SomeDay.FolderColor
from
  SomeDay, SomeDayEvent
where
  SomeDay.SomeDayID != 4,3,2,1;

Ответы [ 4 ]

5 голосов
/ 13 апреля 2011

Нельзя использовать != для нескольких значений, для этого следует использовать not in, например:

Select Distinct 
    SomeDay.SomeDayID,SomeDay.FolderName,SomeDay.FolderColor 
from 
    SomeDay,SomeDayEvent 
where 
    SomeDay.SomeDayID not in (4,3,2,1);
4 голосов
/ 13 апреля 2011

Вы не можете разделять значения в части WHERE запятой. Вы должны использовать ключевое слово IN или BETWEEN.

SomeDay.SomeDayID NOT IN (1,2,3,4)

или

SomeDay.SomeDayID NOT BETWEEN 1 AND 4
0 голосов
/ 27 мая 2011

Является ли SomeDayID обнуляемым? Вы должны знать, что выражение

NULL NOT IN (1, 2, 3, 4)

не оценивается как ИСТИНА.

0 голосов
/ 13 апреля 2011

Select Distinct SomeDay.SomeDayID,SomeDay.FolderName,SomeDay.FolderColor from SomeDay,SomeDayEvent where SomeDay.SomeDayID NOT IN (4, 3, 2, 1)

Используйте предложение IN.

...