2015-12-12 3 views
-1

Я искал через stackoverflow около часа, не найдя решение для своей проблемы.SQL: ERROR 1054 (42S22) Неизвестный столбец в разделе

select Schueler.Vorname, Schueler.Nachname 
from  Schueler, SchuelerLernt, Lehrer, Instrumente 
group by Schueler.Snummer 
having Schueler.Snummer = SchuelerLernt.Snummer and 
     SchuelerLernt.Lnummer = Lehrer.Lnummer and 
     SchuelerLernt.Ibezeichnung = Instrumente.Ibezeichnung and 
     count(Ibezeichnung) > 1; 

, когда я использую источника команды Test.sql, я получаю сообщение об ошибке назад:

ОШИБКА 1054 (42S22) Неизвестный столбец 'Schueler.Snummer' в 'с пункт'

Столбец существует, и я не знаю, что не так.

Можно ли это исправить?

ответ

0

Вы, вероятно, хотите:

select Schueler.Snummer, Schueler.Vorname, Schueler.Nachname 
from Schueler 
JOIN SchuelerLernt 
    ON Schueler.Snummer = SchuelerLernt.Snummer 
JOIN Lehrer 
    ON SchuelerLernt.Lnummer = Lehrer.Lnummer 
JOIN Instrumente 
    ON SchuelerLernt.Ibezeichnung = Instrumente.Ibezeichnung 
group by Schueler.Snummer, Schueler.Vorname, Schueler.Nachname 
having count(Ibezeichnung) > 1; 

Вы должны использовать синтаксис JOIN вместо синтаксиса запятой.

Ваш пункт GROUP BY должен соответствовать пункту SELECT или использовать функции агрегации.

EDIT:

Я не знаю никаких причин, почему бы не использовать JOIN но если вам нужно использовать:

select Schueler.Snummer, Schueler.Vorname, Schueler.Nachname 
from  Schueler, SchuelerLernt, Lehrer, Instrumente 
WHERE Schueler.Snummer = SchuelerLernt.Snummer 
    AND SchuelerLernt.Lnummer = Lehrer.Lnummer 
    AND SchuelerLernt.Ibezeichnung = Instrumente.Ibezeichnung 
group by Schueler.Snummer, Schueler.Vorname, Schueler.Nachname 
having count(Ibezeichnung) > 1; 
+0

но мы Msql в школе, и мы не разрешается использовать присоединиться , Есть ли другое решение? – ednhzrd

+1

@ednhzrd Добавлено альтернативное решение. Пожалуйста, скажите вашему учителю, что синтаксис запятой устарел и его следует избегать. – lad2025

+0

Хорошо, спасибо, не могли бы вы объяснить, почему моя версия не работает? – ednhzrd