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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Есть два запроса. Как сделать один из них. sql join 
:(
    Опции темы
SAnatoliy
Дата 29.1.2018, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



запрос 1
Код

SELECT ADR.ip_adres,DEV.skd_device
FROM ip_adress ADR
JOIN ip_skd SKD ON ADR.ip_adressID = SKD.ip_adressID
JOIN skd_devices DEV ON DEV.skd_deviceID = SKD.skd_deviceID
WHERE ADR.ip_adres = '1.1.1.1'

запрос 2
Код

SELECT VID.name_device
FROM ip_adress ADR
JOIN ip_video VD ON ADR.ip_adressID = VD.ip_adressID
JOIN video_device VID ON VID.vid_deviceID = VD.vid_deviceID
WHERE ADR.ip_adres = '1.1.1.1'



Запрос 3.
Работает не правильно. Может бред, но пробовал так: 
Код

SELECT ADR.ip_adres,DEV.skd_device,VID.name_device
FROM ip_adress ADR

JOIN ip_video VD ON ADR.ip_adressID = VD.ip_adressID
JOIN video_device VID ON VID.vid_deviceID = VD.vid_deviceID

JOIN ip_skd SKD ON ADR.ip_adressID = SKD.ip_adressID
JOIN skd_devices DEV ON DEV.skd_deviceID = SKD.skd_deviceID

WHERE ADR.ip_adres = '1.1.1.1'


(если в одном из джойнов не будет данных, то запрос не работает совсем. если в обоих джойнах есть, то отображает правильно. )

Подскажите как составить один запрос вместо двух правильно.


user posted image
PM MAIL   Вверх
Snowy
Дата 29.1.2018, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11302
Регистрация: 13.10.2004
Где: Питер

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



использовать left join вместо join
PM MAIL   Вверх
SAnatoliy
  Дата 29.1.2018, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Snowy @  29.1.2018,  14:46 Найти цитируемый пост)
использовать left join вместо join 



заменить все join (4ре) ?  



Это сообщение отредактировал(а) SAnatoliy - 29.1.2018, 14:56
PM MAIL   Вверх
Akina
Дата 29.1.2018, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20263
Регистрация: 8.4.2004
Где: Зеленоград

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



Цитата(SAnatoliy @  29.1.2018,  14:05 Найти цитируемый пост)
если в одном из джойнов не будет данных

Ту таблицу (или те таблицы), в которых может не быть данных - LEFT. Остальные - можно оставить INNER или тоже сделать LEFT. 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
SAnatoliy
Дата 29.1.2018, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Всем огромное спасибо.  Поставил на всех, так как везде могут быть пусто.

Жаль, не могу всем поставить +. Модератор, если возможно поставьте + "Snowy" и "Akina".
PM MAIL   Вверх
Google
  Дата 21.2.2018, 12:20 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




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


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

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