Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> left join в запросе, что-то не так 
V
    Опции темы
LordMadman
Дата 7.8.2009, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 22.7.2009

Репутация: нет
Всего: нет



Есть запрос
Код

select st.name_siz, count(*)
from
(select s.id_siz_s as id ,s.id_work_s as worker, max(c.data_vidachi) as datav
from sizes s
left join cards c on s.id_work_s=c.id_work_c and (
                     s.id_siz_s=c.id_siz_c or s.id_siz_s=c.exchange) --and
--                     c.data_okonch is not null
group by 2,1) tbl
join siztbl st on st.id_siz=tbl.id
left join cards c1 on (c1.id_work_c=tbl.worker and c1.id_siz_c=tbl.id and c1.data_vidachi=tbl.datav)
                  or (c1.id_work_c=tbl.id and c1.exchange=tbl.worker and c1.data_vidachi=tbl.datav)
where ((tbl.datav is not null) and (c1.DATA_OKONCH is not null) and
       (c1.data_okonch<=current_date)) or (tbl.datav is null)
group by 1


Проблема left join по таблице c1 не находит соответствия по условию после OR, хотя оно точно есть (проверял вручную). Находит соонветствие только по условию до OR.
В чём проблема?
PM MAIL   Вверх
gcc
Дата 7.8.2009, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: нет
Всего: 17



какая СУБД?
а тут точно правильно? (в первые вижу такой синтаксиз)
Код

from
(select s.id_siz_s as id ,s.id_work_s as worker, max(c.data_vidachi) as datav
from sizes s


я бы попробовал с начало сделать 2 запроса и посмотреть что будет... а потом слепит в один....

Это сообщение отредактировал(а) gcc - 7.8.2009, 19:18
PM WWW ICQ Skype GTalk Jabber   Вверх
LordMadman
Дата 7.8.2009, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 22.7.2009

Репутация: нет
Всего: нет



Смотрел, всё работает
А проблема была в мой невнимательности (поля в условии местами перепутал)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0406 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.