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

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

Пожулйста, помогите составить запрос [D6, Access]


Snake ©   (2003-03-05 06:23:00) 

В таблице есть 3 поля: ID, Date1 и Date2. Нужно посчитать, сколько раз встречается в этих полях некоторая дата, т.е. что-то вроде
SELECT Count(ID) FROM Table
WHERE Dat1=Value OR Dat2=Value

Т.е. число дат в ОБОИХ полях. Если даты в обоих полях совпадают, он прибавляет только 1 значение, а надо бы 2. Возможно ли такое?


Snake   (2003-03-06 05:10:00) [1]

Спасибо, ребята!


Johnmen   (2003-03-05 10:29:00) [2]

>sniknik © (05.03.03 10:25)

Тогда еще проще :
SELECT SUM(iif(Dat1=Dat2, 2, 1)) FROM Table
WHERE Dat1=Value OR Dat2=Value


sniknik   (2003-03-05 10:25:00) [3]

для Access можно чуток попроще
SELECT SUM(iif(Dat1=Value AND Dat2=Value, 2, 1)) FROM Table
WHERE Dat1=Value OR Dat2=Value

если я конечно правильно понял
> Если даты в обоих полях совпадают, он прибавляет только 1 значение, а надо бы 2.


Johnmen   (2003-03-05 09:52:00) [4]

Попробуй :

SELECT COUNT(*)+
(SELECT COUNT(*) FROM Table B
WHERE (B.Dat1=B.Dat2) and (B.Dat1=A.Dat1)) AS Cnt
FROM Table A
WHERE Dat1=Value OR Dat2=Value


Наверх

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