Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Microsoft SQL 2008 Помогите с запросом  [new]
LOTEREYA
Member

Откуда: Krasnodar
Сообщений: 7
Ребят, помогите сделать запрос.
Он должен выводить "модель (int)", если по всем таблицам (а таких три и в каждой имеется столбец "модель (int)") имеется пустое поле(не заполненное)
само задание звучит так:
Вывести список моделей, если о товаре неполная информация.
Если нужно будет предоставить табл и как они заполнены, то нет проблем.
18 апр 17, 20:28    [20412372]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL 2008 Помогите с запросом  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
LOTEREYA
Если нужно будет предоставить табл и как они заполнены, то нет проблем.
Нужно не только это, но и то, что написано в рекомендациях (пункты 4 и 6).

Телепаты на форуме подходят к концу.
18 апр 17, 20:50    [20412460]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL 2008 Помогите с запросом  [new]
LOTEREYA
Member

Откуда: Krasnodar
Сообщений: 7
Версия: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64) Jul 9 2008 14:17:44 Copyright (c) 1988-2008 Microsoft Corporation Express Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )

Таблицы:

create table proizvoditel( 
model int not null, 
marka char(25) not null, 
tip_tovara char(10) not null, 
primary key(model))

create table PK( 
model int not null, 
naimenovaniePK char(20) not null, 
ram int not null, 
hdd int not null, 
proz varchar(30) not null, 
cena int not null, 
primary key(model),
foreign key(model) references proizvoditel(model))

create table pereferiya( 
model int not null, 
naimenovanieP char(25) not null, 
tip char(10) not null, 
cvetnost char(20), 
cena int not null, 
primary key(model),
foreign key(model) references proizvoditel(model))

как заполнены:

insert into proizvoditel
values (101, 'Lenovo', 'pk'), (102, 'Samsung', 'pereferiya'),
 (103, 'HP', 'pereferiya'), (104, 'MAC', 'pk'),
  (105, 'Asus', 'pk'), (106, 'Epson', 'pereferiya')

insert into PK
values (101, 'Ноутбук', '6', '750', '3.1ГГц*4', 33000),
 (104, 'Моноблок MAC', '8', '1000', '3.6ГГц*8', 115000),
  (105, 'Системный блок', '12', '1000', '3.4ГГц*4', 120000)

insert into pereferiya
values (102, 'Принтер лазерный', 'printer', 'Цветной', 10000),
 (103, 'Монитор', 'monitor', null, 12000),
  (106, 'Клавиатура MAC', 'Клавиатура', null, 2500)


Сообщение было отредактировано: 18 апр 17, 23:19
18 апр 17, 21:15    [20412537]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL 2008 Помогите с запросом  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8823
LOTEREYA,

за Вас запрос теперь написать?
18 апр 17, 23:50    [20412895]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL 2008 Помогите с запросом  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21249
Ну раз модель везде ключевое (а, значит, уникальное) - тупо собрать их в одну кучу и вывести те, которых НЕ три...
19 апр 17, 07:30    [20413021]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL 2008 Помогите с запросом  [new]
LOTEREYA
Member

Откуда: Krasnodar
Сообщений: 7
Владислав Колосов,

Было бы неплохо, но нет.
19 апр 17, 09:00    [20413137]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL 2008 Помогите с запросом  [new]
LOTEREYA
Member

Откуда: Krasnodar
Сообщений: 7
Владислав Колосов,

я не знаю как в условии выбрать все таблицы и чтобы из всех таблиц вывело пустые
19 апр 17, 09:01    [20413143]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL 2008 Помогите с запросом  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21249
LOTEREYA
я не знаю как в условии выбрать все таблицы
UNION ALL

LOTEREYA
чтобы из всех таблиц вывело пустые
HAVING
19 апр 17, 09:08    [20413162]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL 2008 Помогите с запросом  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
офф: Оценка за курсач - неуд. :)
19 апр 17, 09:52    [20413294]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL 2008 Помогите с запросом  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31978
LOTEREYA
я не знаю как в условии выбрать все таблицы и чтобы из всех таблиц вывело пустые
Для одной таблицы:
select model from pereferiya where cena is null

Далее, написать такие же запросы для остальных таблиц, и объединить их конструкцией UNION

Заметьте, что не заполнено у вас может быть только поле cena в таблице pereferiya, все остальные поля во всех таблицах у вас NOT NULL
19 апр 17, 10:14    [20413374]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL 2008 Помогите с запросом  [new]
LOTEREYA
Member

Откуда: Krasnodar
Сообщений: 7
LSV,

Это последнее задание 30(последнее) задание.
19 апр 17, 10:34    [20413454]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL 2008 Помогите с запросом  [new]
LOTEREYA
Member

Откуда: Krasnodar
Сообщений: 7
LSV,

уже мозг тупит..
что я написал
19 апр 17, 10:35    [20413457]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL 2008 Помогите с запросом  [new]
LOTEREYA
Member

Откуда: Krasnodar
Сообщений: 7
alexeyvg,

Немного не так.
Мне нужно чтобы он не опирался на строку, столбец или таблицу.
Он должен делать как поиск пустых значений во всей базе данных и выводить номер модели на экран.
Я и в интернете искал и сам креативил, но ничего не дало нужный результат
19 апр 17, 10:53    [20413521]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft SQL 2008 Помогите с запросом  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31978
LOTEREYA
Немного не так.
Мне нужно чтобы он не опирался на строку, столбец или таблицу.
Он должен делать как поиск пустых значений во всей базе данных и выводить номер модели на экран.
Почему не так? Код ищет пустые значения во всей базе данных и выводит номер модели.
20 апр 17, 13:38    [20418636]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить