Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MySQL

  Все выпуски  

RusFAQ.ru: Базы данных SQL


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Базы данных SQL

Выпуск № 387
от 09.10.2008, 18:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 421, Экспертов: 34
В номере:Вопросов: 1, Ответов: 2

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 145992: Здраствуйте Кважаемые эксперты, у меня есть запрос, который выводит данные из двух таблиц: egzempliar и kniga, выводит этот запрос такие данные: ISBN, название книги и число эгземпляров данной книги. Сам запрос показан в приложении. Помогите пожалуйс...

Вопрос № 145.992
Здраствуйте Кважаемые эксперты, у меня есть запрос, который выводит данные из двух таблиц: egzempliar и kniga, выводит этот запрос такие данные: ISBN, название книги и число эгземпляров данной книги. Сам запрос показан в приложении. Помогите пожалуйста переделать этот запрос так, чтобы в результате получять информацию только о тех книгах, которых эгземпляров есть боьше чем 3. Желательно использую when либо except.
Заранее спасибо.

Приложение:

Отправлен: 04.10.2008, 18:10
Вопрос задал: Станислав (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Коровин Александр
Здравствуйте, Станислав!
Попробуйте такой вариант:

select kniga.isbn, kniga.nazvanije, count(*) as Egzempliarov
from kniga, egzempliar
where kniga.isbn = egzempliar.isbn
group by kniga.isbn, kniga.nazvanije
having count(kniga.isbn)>3
Ответ отправил: Коровин Александр (статус: 5-ый класс)
Ответ отправлен: 06.10.2008, 08:04
Оценка за ответ: 5

Отвечает: Виктор Пырлик
Здравствуйте, Станислав!

Вот, например два варианта:
Код:

-- первый вариант --------------
SELECT
KNIGA.ISDN,
KNIGA.NAZVANIE,
COUNT(EXEMPLAR.ISDN) AS COUNT_EXEMPLAR
FROM KNIGA
INNER JOINEXEMPLAR ON (KNIGA.ISDN = EXEMPLAR.ISDN)
WHERE KNIGA.ISDN IN (SELECT ISDN FROM EXEMPLAR GROUP BY ISDN HAVING COUNT (ISDN) >3)
GROUP BY KNIGA.ISDN, KNIGA.NAZVANIE
--******** второй вариат ***********
SELECT
KNIGA.ISDN,
KNIGA.NAZVANIE,
COUNT(EXEMPLAR.ISDN) AS COUNT_EXEMPLAR
FROM KNIGA
INNER JOIN EXEMPLAR ON (KNIGA.ISDN = EXEMPLAR.ISDN)
GROUP BY KNIGA.ISDN, KNIGA.NAZVANIE
HAVING COUNT(EXEMPLAR.ISDN) > 3


---------
не получается там - где не пробуют
Ответ отправил: Виктор Пырлик (статус: Профессионал)
Россия, Екатеринбург
Тел.: 89043822027
ICQ: 490191733
----
Ответ отправлен: 06.10.2008, 09:11
Оценка за ответ: 5


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 5.5 от 09.10.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное