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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2011, 17:46   #1
Lazio
Форумчанин
 
Регистрация: 25.02.2009
Сообщений: 113
По умолчанию Составление сложного запроса.

Есть следующие таблицы:

Стоимость газет: Номер газеты, Название газеты, Стоимость
Изготовители газет: Номер газеты, номер типографии
Изготовители: Номер газеты, Шифр издания, Редактор
Выпуск газет: Номер газеты, Номер типографии, Количество газет.

Необходимо получить рез-ты след вида

Название газеты, Шифр издания, Редактор, Стоимость, Количество газет по данной типографии (её номер задается парметром)

Получилось всё кроме присоединения количества

Код:
SELECT [Название газеты], [Стоимость], [Редактор], [Шифр издания] FROM [Стоимость газет] AS B LEFT JOIN Изготовители AS A ON A.[Номер газеты]=B.[Номер газеты] 
WHERE A.[Номер газеты] in (SELECT [Номер газеты]  from [Изготовители газет] where [Номер типографии]=@num)

Последний раз редактировалось Lazio; 16.12.2011 в 17:47. Причина: Растяжение страницы
Lazio вне форума Ответить с цитированием
Старый 16.12.2011, 18:48   #2
zamaevac
Пользователь
 
Аватар для zamaevac
 
Регистрация: 22.03.2010
Сообщений: 88
По умолчанию

Цитата:
Сообщение от Lazio Посмотреть сообщение
Есть следующие таблицы:

Стоимость газет: Номер газеты, Название газеты, Стоимость
Изготовители газет: Номер газеты, номер типографии
Изготовители: Номер газеты, Шифр издания, Редактор
Выпуск газет: Номер газеты, Номер типографии, Количество газет.
не понимаю, зачем нужна таблица "Изготовители газет", если она продублирована в таблице "Выпуск газет"? Поля "Номер газеты" и "номер типографии" полностью дублируются! Или в задании ошибка или база составлена не корректно.

Ещё вопрос: какие поля являются ключами???

Я понял, что "Номер газеты" и "Номер типографии" в таблице "Выпуск газет" - это составной ключ? Надо или схемку выкладывать или SQL код создания таблицы. А то, в каком виде написано данное задание, вызывает массу вопросов.

Если, благодаря своим экстрасенсорным способностям, я правильно "увидел" ключи таблиц, то ответ следующий:

Код:
SELECT [Название газеты], [Шифр издания], [Редактор], [Стоимость], count([Количество газет])
  FROM [Стоимость газет], [Изготовители], [Выпуск газет]
  WHERE [Стоимость газет].[Номер газеты] = [Изготовители].[Номер газеты]
     AND  [Стоимость газет].[Номер газеты] = [Выпуск газет].[Номер газеты]
     AND  [Выпуск газет].[Номер типографии] = @num
  GROUP BY [Выпуск газет].[Номер газеты]
zamaevac вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составление запроса Айдар Работа с сетью в Delphi 0 21.10.2010 19:42
составление последовательного запроса Lord777 SQL, базы данных 2 23.05.2010 11:48
Создание сложного перекрёстного sql-запроса Galiska БД в Delphi 0 23.05.2010 00:20
Проблема составление сложного SQL запроса Arnezami Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 3 05.03.2010 19:37
Создание Сложного запроса chugo Microsoft Office Access 3 13.11.2009 15:28