Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2014, 05:48   #1
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию Запрос с нескольких таблиц с условием

Здравствуйте.
Имеется запрос
Код:
SELECT a.`id`
     , DATE_FORMAT(a.`Data`, '%d.%m.%Y')
     , b.FIO
     , c.Name
     , a.Time
     , d.Name
     , e.Name
     , f.Name
     , a.NumbHoum
     , a.NumbKv
     , a.SumInDogovor
     , a.NumbAg
     , a.uslovie
     , a.PrintDogovor
     , a.ZakazTime
     , a.KOplate
     , a.DataLock
     , a.FileName
FROM
  `tbpodpis` AS a
INNER JOIN `tbagenty` AS b
ON a.idAgent = b.ID
INNER JOIN `tbplacepodpic` AS c
ON a.idPlace = c.ID
INNER JOIN `tbcyti` AS d
ON a.idcyti = d.ID
INNER JOIN `tbstreets` AS e
ON a.idstreet = e.ID
INNER JOIN `tbbanks` AS f
ON a.idbankuslovie = f.ID
WHERE
  a.NumbAg = 1
  OR a.NumbAg = 0
проблема в том что если a.idbankuslovie, a.idstreet, a.idcyti и т.д. хранится Null то такая запись не выводится, как сделать чтоб она выводилась даже если там Null
Lokos вне форума Ответить с цитированием
Старый 18.07.2014, 06:03   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Lokos Посмотреть сообщение
проблема в том что если a.idbankuslovie, a.idstreet, a.idcyti и т.д. хранится Null то такая запись не выводится, как сделать чтоб она выводилась даже если там Null
Вместо inner join используйте rigth join.
В помощь:
Join (SQL)
Streletz вне форума Ответить с цитированием
Старый 18.07.2014, 06:45   #3
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

поменял на right join результат тот же
а вот с left все заработало, хотя вы были правы в документации было написано RIGHT JOIN - возвращает строки из правой таблицы(table_name2), даже если их нет левой таблице (table_name1).

Последний раз редактировалось Lokos; 18.07.2014 в 06:56.
Lokos вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запрос из нескольких таблиц govorun1 БД в Delphi 4 02.01.2014 17:13
Запрос данных из нескольких таблиц Daslife SQL, базы данных 5 07.01.2013 14:04
Запрос. Выборка из нескольких таблиц Ol'ga БД в Delphi 2 16.05.2012 22:54
Запрос на выборку из нескольких таблиц bullvinkle Microsoft Office Access 9 11.04.2012 04:35
Запрос с нескольких таблиц Lokos БД в Delphi 3 15.04.2011 07:43