Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 5

Выборка пустых полей

23.02.2015, 21:45. Показов 3032. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!!
Имеется база(см. вложения)
И есть запрос:
SQL
1
2
3
4
5
6
7
8
9
SELECT        Ремонт.Код, Ремонт.[Код клиента], Клиенты.Фамилия, Клиенты.[Номер прав], Ремонт.[Код автомобиля], Автомобили.Марка, Автомобили.Модель, 
                         Ремонт.[Код сотрудника], Сотрудники.Фамилия AS Expr1, Ремонт.[Код прайс листа], [Прайс лист].Наименование, Ремонт.[Код запчасти], Ремонт.Цена, 
                         Ремонт.[Дата приемки на ремонт], Ремонт.[Дата выполненного ремонта], Ремонт.Статус, Запчасти.Наименование AS Expr2
FROM            Ремонт INNER JOIN
                         Автомобили ON Ремонт.[Код автомобиля] = Автомобили.Код INNER JOIN
                         Клиенты ON Ремонт.[Код клиента] = Клиенты.Код INNER JOIN
                         Сотрудники ON Ремонт.[Код сотрудника] = Сотрудники.Код INNER JOIN
                         [Прайс лист] ON Ремонт.[Код прайс листа] = [Прайс лист].Код INNER JOIN
                         Запчасти ON Ремонт.[Код запчасти] = Запчасти.Код
Проблема в том, что этот запрос не выводит поля с пустыми внешними ключами в таблице Ремонт! Это поля: Ремонт.[Код запчасти] и Ремонт.[Код прайс листа], они могут быть пустыми!
т.е. допустим если значение поля Ремонт.[Код прайс листа] пустое, то строку в которой содержится это значение оно не выводит!

Пробовал писать так:

SQL
1
2
3
4
5
6
7
8
9
SELECT        Ремонт.Код, Ремонт.[Код клиента], Клиенты.Фамилия, Клиенты.[Номер прав], Ремонт.[Код автомобиля], Автомобили.Марка, Автомобили.Модель, 
                         Ремонт.[Код сотрудника], Сотрудники.Фамилия AS Expr1, Ремонт.[Код прайс листа], [Прайс лист].Наименование, Ремонт.[Код запчасти], Ремонт.Цена, 
                         Ремонт.[Дата приемки на ремонт], Ремонт.[Дата выполненного ремонта], Ремонт.Статус, Запчасти.Наименование AS Expr2
FROM            Ремонт INNER JOIN
                         Автомобили ON Ремонт.[Код автомобиля] = Автомобили.Код INNER JOIN
                         Клиенты ON Ремонт.[Код клиента] = Клиенты.Код INNER JOIN
                         Сотрудники ON Ремонт.[Код сотрудника] = Сотрудники.Код INNER JOIN
                         [Прайс лист] ON Ремонт.[Код прайс листа] = [Прайс лист].Код OR Ремонт.[Код прайс листа] IS NULL INNER JOIN
                         Запчасти ON Ремонт.[Код запчасти] = Запчасти.Код OR Ремонт.[Код запчасти] IS NULL
Expr1 - [Код сотрудника].Фамилия
Expr2 - [Запчасти].Наименование

Тогда выводятся все значения со всех связанных таблиц...

Если эти внешние ключи заполнены - то все работает правильно!

Помогите пожалуйста сделать так чтобы выводились значения с пустыми полями. УМОЛЯЮ
Миниатюры
Выборка пустых полей  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.02.2015, 21:45
Ответы с готовыми решениями:

Слишком объемная таблица из-за обилия пустых полей
Доброго времени суток! Мне нужно создать БД железнодорожных перевозок. Возникла проблема с таблицей "Продажа билетов" Структура...

Выборка не повторяющихся полей
всем привет,нужна ваша помощь: есть такой запрос Select t1.per_saldo_flat_id, t1.lc_id, t1.date_id , t1.sal_begin, t1.sal_benefit,...

Выборка данных по максимальному значению одного из полей
Такой код select distinct wt.wayid, wt1.Info as 'Улица', wt2.Info as 'Дом' from dbo.tWayTag wt left join tWayTag wt1 on...

3
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
23.02.2015, 22:30
Лучший ответ Сообщение было отмечено sergeyhex как решение

Решение

Читать про left outer join.
1
0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 5
23.02.2015, 23:03  [ТС]
А помочь не сможете? У меня просто сроки уже почти нет времени... помогите пожалуйста!

Добавлено через 29 минут
Дружище, спасибо огромное, сел разобрался!!!
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
23.02.2015, 23:15
T-SQL
1
2
3
4
5
6
Ремонт INNER JOIN
                         Автомобили ON Ремонт.[Код автомобиля] = Автомобили.Код INNER JOIN
                         Клиенты ON Ремонт.[Код клиента] = Клиенты.Код INNER JOIN
                         Сотрудники ON Ремонт.[Код сотрудника] = Сотрудники.Код LEFT OUTER JOIN
                         [Прайс лист] ON Ремонт.[Код прайс листа] = [Прайс лист].Код LEFT OUTER JOIN
                         Запчасти ON Ремонт.[Код запчасти] = Запчасти.Код
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.02.2015, 23:15
Помогаю со студенческими работами здесь

Процедура для создание полей в таблице (кол-во полей > 50)
Собственно вопрос в теме. Для особо "одаренных": Помогите написать процедуру для создания полей в таблице. Спасибо

Форматирование числовых полей и полей дата-время
Есть ли что-нибудь попроще, чтобы получить результат в формате 'dd.mm.yyyy hh:mi'? SELECT CAST(DAY(lasttrade) AS nvarchar) + '-' +...

Выборка из БД столбца без пустых полей
У меня есть таблица, называется пускай Terminal. В ней сделать выборку одного столбца без пустых полей в нем. Пустых имеется ввиду прямо...

Отсеивание пустых полей
Вывожу людей старше 34 лет, а оно заодно выводит людей в которых не пишет дата нородження. Не могу отсеять пустые поля типа date. select...

Проверка пустых полей
Добрый вечер. Подскажите как проверить пустые ли поля text box на форме?если нет, то выводить сообщение "Заполните пустые поля"


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru