Миshук |
Отправлено: 14.03.2006, 19:59 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 36
|
Всем доброго времени суток!!!
у меня маленькая проблемка.
Есть две таблицы (рис 1)
Присоединить изображение
|
|
Миshук |
Отправлено: 14.03.2006, 20:06 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 36
|
Делаю вот такой запросик и получаю вот ткаой результат(см рис)
Таким образом в результате запроса группируются все строки таблицы rbAdvantageVisit.
Присоединить изображение
|
|
Миshук |
Отправлено: 14.03.2006, 20:10 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 36
|
Но если добавляю условие поиска WHERE , то получается вот что(см рис) Т.е. строка 2 с нулевым значением _FirstVisit испарилась. Вроде бы RIGHT объединение а в чем проблем что-то не пойму. Подскажите пожалуйста! (SQL2000) Заранее спасибо!
(И прошу прощения за устроеный вернисаж)
Отредактировано Миshук — 14/03/2006, 20:13
Присоединить изображение
|
|
AVC |
Отправлено: 15.03.2006, 10:47 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Если есть внешнее объединение, то оно должно распространяться на все условия и дальнейшие подчиненные связи, если они есть.
Попробуйте вставить условия отбора в условие связи on. Может сработает (точно не знаю, у Oracle другой синтаксис а MSSQL под рукой нет).
Кроме того эту проблему можно решить перенеся условия отбора на уровень ниже и организуя объединение с результатом выборки а не с таблицей. (Select from select)
Или
Использовать вычисляемое поле
Select
groupID
,groupName
,(Select count(*) From mi Where mi.groupID = av.groupID and regdate ...) as fv
From av |
|
Миshук |
Отправлено: 15.03.2006, 19:20 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 36
|
Привет!
Большое спасибо! Оробовал 1 и 3 способы.Сейчас еще 2 попробую. Думаю остановлюсь на более простом — первом. Еще раз большое спасибо!!!!
|
|