Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросами / 8 сообщений из 8, страница 1 из 1
15.02.2020, 15:11
    #39927011
Mityka7739
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросами
Есть три таблицы - traffic, managers, clients.

Таблица грузов: номер записи(id), контейнер(container), ссылка на клиента(id_client), ссылка на менеджера(id_manager), дата фактического прибытия груза(arriving_date).

Таблица менеджеров: номер записи(id), фамилия(surname), имя(name), почта(mail), телефон(phone).

Таблица клиентов: номер записи(id), название компании(name), ИНН(INN), адрес(address), почта(mail), телефон(phone).



1. Выбрать почту менеджеров, у которых нет телефонов

2. Выбрать грузы, которые еще не прибыли

3. Выбрать грузы, которые приплыли в апреле

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

5. Выбрать клиентов, грузы которых ведет менеджер Наталья

6. Кол-во грузов в таблице.

7. Кол-во грузов у каждого клиента.

Можете написать эти запросы. Кажется 1 - 3 я написал неправильно.

1. SELECT MAIL FROM MANAGERS WHERE NOT 'phone'
2. SELECT * FROM TRAFFIC WHERE NOT 'arriving_date'
3. SELECT * FROM TRAFFIC WHERE arriving_date = 'April'
4.
5.
6.
7.
...
Рейтинг: 0 / 0
15.02.2020, 15:44
    #39927020
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросами
Mityka7739,

Вы фантазируете относительно синтаксиса. Учиться, учиться и учиться.
...
Рейтинг: 0 / 0
15.02.2020, 17:53
    #39927037
Mityka7739
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросами
Владислав Колосов, а как правильно?
1. SELECT MAIL FROM MANAGERS WHERE 'phone' = null
2. SELECT * FROM TRAFFIC WHERE 'arriving_date' = null
...
Рейтинг: 0 / 0
15.02.2020, 17:55
    #39927038
Mityka7739
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросами
помогите с 4 5 и 7
...
Рейтинг: 0 / 0
15.02.2020, 18:04
    #39927040
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросами
Mityka7739
Владислав Колосов, а как правильно?
1. SELECT MAIL FROM MANAGERS WHERE 'phone' = null
2. SELECT * FROM TRAFFIC WHERE 'arriving_date' = null



Код: sql
1.
SELECT MAIL FROM MANAGERS WHERE phone is null or phone  = ''
...
Рейтинг: 0 / 0
15.02.2020, 23:10
    #39927087
MsGuns
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросами
Mityka7739
Владислав Колосов, а как правильно?
1. SELECT MAIL FROM MANAGERS WHERE 'phone' = null
2. SELECT * FROM TRAFFIC WHERE 'arriving_date' = null


Замените апострофы на кв.скобки и будет правильно. Хотя для Вашего случая, в котором в названиях колонок нет пробелов и они на латинице и НЕ СОВПАДАЮТ С ЗАРЕЗЕРВИРОВАННЫМИ СЛОВАМИ TSQL (Например 'User', 'Address' и т.д.), можно вообще обойтись безо всякого "обрамления"

Теперь относительно NULL.
Если речь идет о колонках таблиц не строковых (varchar,nvarchar,..), то отсутствующее значение стандартно имеет NULL, если конечно при создании таблицы не было указано NOT NULL (это можно легко посмотреть в метаданных либо выбрав в таблице список колонок либо потребовать выдать скрипт создания таблицы в SQL Management Studio).
Для строковых может быть не NULL, а <пусто>, т.е. ''. Именно поэтому Alex222 и применил два условия через OR. Важно понимать, что в данном случае '' не есть NULL ни в коем случае :).
Простой пример: адрес. Если его нет (чувак нигде не живет - бомж или Пржевальский или его лошадь), то NULL. Ну а если '', то есть и дом, и прописка, просто не занесена в БД
...
Рейтинг: 0 / 0
16.02.2020, 03:45
    #39927113
Ennor Tiegael
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросами
aleks222
Mityka7739
Владислав Колосов, а как правильно?
1. SELECT MAIL FROM MANAGERS WHERE 'phone' = null
2. SELECT * FROM TRAFFIC WHERE 'arriving_date' = null
Код: sql
1.
SELECT MAIL FROM MANAGERS WHERE phone is null or phone  = ''

Чуть короче, хотя бы поле всего один раз упоминается:
Код: sql
1.
select Mail from Managers m where nullif(m.Phone, '') is null;
...
Рейтинг: 0 / 0
16.02.2020, 15:47
    #39927181
Mityka7739
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросами
напишите пожалуйста 4 5 и 7
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросами / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]