Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выборка [D6, MSSQL]


Страницы:   1 2

wild_arg ©   (2004-08-10 09:26:00) 

Eсть таблица :
_____
a | x
b | y
a | y
c | z
b | x
b | z
a | z
 
Надо выбрать только те элементы из первого столбца, которые встречаются в таблице и с "x", и с "у", и с "z"

т.е. результатом будет:
a
b

как такое сделать попроще - чё то я туплю


Соловьев   (2004-08-10 09:47:00) [21]


> Where (Field2 = 'x') or (Field2 = 'y') or (Field2 = 'z')!!!

остался без руки - так как надо AND


46_55_41_44   (2004-08-10 09:44:00) [22]

Слушайте народ вы чего мучаетесь?
Это же просто как 2Х2...
Select Field1 from Table1
Where (Field2 = 'x') or (Field2 = 'y') or (Field2 = 'z')!!!
Будет работать!
Даю руку на отсечение!!!


Silver Alex   (2004-08-10 09:40:00) [23]

может быть так?

select t1.Field1  from Table t1
where
 exists (select t2.field1 from table t2
            where
               t2.field1=t1.field1
               and t2.field2 ='x'
             )

and  exists (select t3.field1 from table t3
            where
               t3.field1=t1.field1
               and t3.field2='y'
             )
and  exists (select t4.field1 from table t4
            where
               t4.field1=t1.field1
               and t4.field2 ='z'
             )


Sandman25   (2004-08-10 09:33:00) [24]

:)
Я, наверное, тоже не проснулся - лень было полный ответ написать.


Соловьев   (2004-08-10 09:32:00) [25]


> Второй вариант ошибочен.

да и первый, что-то я не проснулся:)


Sandman25   (2004-08-10 09:31:00) [26]

[2] Соловьев ©   (10.08.04 09:29)

Второй вариант ошибочен.


Соловьев   (2004-08-10 09:31:00) [27]


> select field1
> from table
> where field2 in ("x","y","z")

неа, надо через AND


Соловьев   (2004-08-10 09:29:00) [28]

select field1
from table
group by field1
having count(field2)=3

или

select field1
from table
where field2 in ("x","y","z")


Sandman25   (2004-08-10 09:28:00) [29]

одна таблица используется 3 раза с разными алиасами


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо