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

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

Помогите составить запрос


Страницы:   1 2

The ©   (2003-11-20 10:52:00) 

День добрый

Есть таблица трех полей и данными такого вида

А В С
0 1 11
0 0 10
1 0 10
1 0 11
2 0 10
2 1 11
5 0 11
4 0 10
4 0 11
3 0 10
.. .. ..

с этой таблицы нужно выбрать те записи, которые имеют разное значение или по полю А, или по полю В, но при этом входят в определенный диапазон по полю С. Например, мне нужно выбрать все записи, где С in (10, 11), но имеют разное значение по полю А или В. В результате должен получить такую выборку:

А В С
0 1 11
0 0 10
2 0 10
2 1 10
5 0 11
3 0 10
.. .. ..


Johnmen   (2003-11-20 11:11:00) [21]

>sniknik © (20.11.03 11:07)

Тогда, наверное, ему достаточно DISTINCT.


sniknik   (2003-11-20 11:07:00) [22]

Johnmen © (20.11.03 10:58) [2]
так думаю имелась ввиду в комбинации (A||B), 00 ведь нигде не больше не повторяется.


ZrenBy   (2003-11-20 11:05:00) [23]

where c in (11,10) забыл


ZrenBy   (2003-11-20 11:02:00) [24]

declare @t table(a int, b int, c int)

insert into @t
select 0, 1, 11 union
select 0, 0, 10 union
select 1, 0, 10 union
select 1, 0, 11 union
select 2, 0, 10 union
select 2, 1, 11 union
select 5, 0, 11 union
select 4, 0, 10 union
select 4, 0, 11 union
select 3, 0, 10

select t.a,t.b,t.c from (
select a,b from @t group by a,b having sum(1)=1
)q inner join @t t on q.a=t.a and q.b=t.b
order by 1,2


Zacho   (2003-11-20 11:01:00) [25]


> Johnmen © (20.11.03 10:58) [2]

А я и не обратил внимания :)


Johnmen   (2003-11-20 10:58:00) [26]

>...выбрать все записи, где С in (10, 11), но имеют разное значение по полю А или В.
>
А В С
...
0 0 10
....

Да ? :)


Zacho   (2003-11-20 10:57:00) [27]

SELECT * FROM TABLE WHERE A<>B AND C IN(10,11) не подойдет ?


Страницы:   1 2

Наверх

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