|
|
|
Запрос на выборку. Ошибка "CNT": invalid identifier
|
|||
|---|---|---|---|
|
#18+
Не получается создать запрос на выборку людей с тремя руководителями. И так и сяк пробовал - ругается по разному. Подскажите, где кавычки или скобки не поставил, пожалуйста. Oracle SQL developer Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2017, 02:57 |
|
||
|
Запрос на выборку. Ошибка "CNT": invalid identifier
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2017, 03:06 |
|
||
|
Запрос на выборку. Ошибка "CNT": invalid identifier
|
|||
|---|---|---|---|
|
#18+
da3d, такое бывает, когда придумываешь свой синтаксис .... во-первых, если запрос с группировкой, то все поля SELECT-листа должны быть или в предложении GROUP BY, или под действием агрегатной функции... у тебя Famil в GROUP BY, Impressario.ID_IMP - под агрегатной функцией. а что делать с Artist.Famil_art и Ganry.Nazv_g - ты серверу не объяснил... во-вторых, алиас выражения из SELECT-листа на этом же уровне вложенности запроса доступен к использованию ТОЛЬКО в предложении ORDER BY. А ты пытаешься использовать CNT в HAVING ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2017, 05:32 |
|
||
|
Запрос на выборку. Ошибка "CNT": invalid identifier
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, поменял на это. SELECT Artist.FAMIL_ART, Impressario.FAMIL, Ganry.NAZV_G FROM Artist INNER JOIN Ganry_Artist ON Ganry_Artist.ID_ART = Artist.ID_ART INNER JOIN Ganry ON Ganry.ID_GANR = Ganry_Artist.ID_GANR INNER JOIN Impressario_Artist ON Artist.ID_ART = Impressario_Artist.ID_ART INNER JOIN Impressario ON Impressario_Artist.ID_IMP = Impressario.ID_IMP GROUP BY Artist.FAMIL_ART, Impressario.FAMIL, Ganry.NAZV_G where COUNT(Impressario.ID_IMP) = 3 К сожалению, не выдает ничего, пока не выберешь единицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2017, 05:53 |
|
||
|
Запрос на выборку. Ошибка "CNT": invalid identifier
|
|||
|---|---|---|---|
|
#18+
Упс, вместо where стоит having ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2017, 05:54 |
|
||
|
Запрос на выборку. Ошибка "CNT": invalid identifier
|
|||
|---|---|---|---|
|
#18+
da3d, чего спросил, то тебе сервер и ответил. если данных, удовлетворяющих запросу нет, сервер ничего и не возвращает... если результат не соответствует твоим ожиданиям, то это твои проблемы, а не сервера. если не можешь составить правильный запрос и требуется помощь окружающих - то приведи описание таблиц, тестовый набор данных, желаемый результат и логику его получения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2017, 06:01 |
|
||
|
Запрос на выборку. Ошибка "CNT": invalid identifier
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, Есть таблицы артист, жанры, импресарио. Между ними пару связующих таблицы - артист жанры (в каких жанрах актер играет) и импресарио_артист (с кем работает артист). Требуется выдать какие артисты имеют ровно 3 импресарио в распоряжении и выдать с жанрами, и фамилиями обоих. Таких артистов двое - 1 и 3. Еще какая-то информация нужна? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2017, 06:08 |
|
||
|
Запрос на выборку. Ошибка "CNT": invalid identifier
|
|||
|---|---|---|---|
|
#18+
da3d, - приведи хорошо оформленный запрос с with из dual - покажи что ты делаешь - получи волну дерьма в свою сторону - получи правильное решение от серого ника или от dbms_photoshop ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2017, 12:40 |
|
||
|
Запрос на выборку. Ошибка "CNT": invalid identifier
|
|||
|---|---|---|---|
|
#18+
da3dДобрый Э - Эх, поменял на это. SELECT Artist.FAMIL_ART, Impressario.FAMIL, Ganry.NAZV_G FROM Artist INNER JOIN Ganry_Artist ON Ganry_Artist.ID_ART = Artist.ID_ART INNER JOIN Ganry ON Ganry.ID_GANR = Ganry_Artist.ID_GANR INNER JOIN Impressario_Artist ON Artist.ID_ART = Impressario_Artist.ID_ART INNER JOIN Impressario ON Impressario_Artist.ID_IMP = Impressario.ID_IMP GROUP BY Artist.FAMIL_ART, Impressario.FAMIL, Ganry.NAZV_G where COUNT(Impressario.ID_IMP) = 3 К сожалению, не выдает ничего, пока не выберешь единицу. А как он может что-то другое выдавать, если твой запрос выводит ТОЛЬКО одного имрессарио в каждой строке вывода? То есть в твоём запросе колонка COUNT(Impressario.ID_IMP) по умолчанию (из-за набора колонок в GROUP BY) может иметь только значение 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2017, 14:20 |
|
||
|
Запрос на выборку. Ошибка "CNT": invalid identifier
|
|||
|---|---|---|---|
|
#18+
лабораторная? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2017, 14:22 |
|
||
|
Запрос на выборку. Ошибка "CNT": invalid identifier
|
|||
|---|---|---|---|
|
#18+
Курсовая. Про строки - понятное дело, что только одного. Но нам нужны только артисты, у которых 3 импресарио. Фамилии импресарио здесь нужны для того, чтобы показать, что так и есть, у данного артиста 3 руководителя. Понятное дело, что в одной строке три значения не может быть. Для этого и сделал несколько таблиц составных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2017, 18:38 |
|
||
|
Запрос на выборку. Ошибка "CNT": invalid identifier
|
|||
|---|---|---|---|
|
#18+
da3d, ох уж эти студенты =) 1. запусти Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. и посчитай сколько записей для твоих ожидаемых артистов (каждая из таблиц может их умножить) 2. проверь ID для всех таблиц - выведи и посчитай очень похоже что тебе надо having COUNT(distinct Impressario.ID_IMP) = 3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2017, 13:10 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39443753&tid=1885994]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 508ms |

| 0 / 0 |
