Zum Inhalt wechseln


Foto

Sql Abfrage - Fehlermeldung

MS SQL

  • Bitte melde dich an um zu Antworten
3 Antworten in diesem Thema

#1 julianvbrunner

julianvbrunner

    Newbie

  • 15 Beiträge

 

Geschrieben 15. Juli 2015 - 07:26

Hallo,

beim Ausführen dieser Query:

select l.plz as 'Plz des kunden', l.strasse as 'Strasse des Kunden',

l.hausnummer as 'Hausnummer des Kunden',l.ort as 'Ort des Kunden',
a.name as 'Name des Artikels',k.nachname as 'Nachname des Kunden',
k.vorname as 'Vorname des kunden'
from bestellung as bes, lieferadresse as l, artikel as a, kunde as k
inner join lieferadresse
on lieferadresse.adressid = bestellung.adresseid 
inner join Artikel 
on bestellung.artikelid=artikel.artikelid
inner  join kunde
on bestellung.kundenid=kunde.kundenid
 
bekomme ich die Fehlermeldung: der mehrteilige bezeichner bestellung.adresseid konnte nicht eingebunden werden
 
ich erbitte euren Rat 
 
danke im vorraus
 
Mfg
 
julianvbrunner


#2 Cybquest

Cybquest

    Expert Member

  • 1.882 Beiträge

 

Geschrieben 15. Juli 2015 - 07:31

Von weitem hätte ich gesagt, wenn Du die Tabelle "as bes" benennst, sollte es auch "bes...." in den joins heissen und nicht "Bestellung..."

 

Weiterhin denke ich, darf oben nicht "from Bestellung, lieferadresse..." (also alle Tabellen hintereinander) stehen und danach dann nochmal die inner joins, sondern eher "from Bestellung inner join lieferadresse inner join..."


My name is Frank, you can say you to me.

#3 julianvbrunner

julianvbrunner

    Newbie

  • 15 Beiträge

 

Geschrieben 15. Juli 2015 - 08:56

Von weitem hätte ich gesagt, wenn Du die Tabelle "as bes" benennst, sollte es auch "bes...." in den joins heissen und nicht "Bestellung..."

 

Dieses Alias war nur als Test ob es damit funktionieren würde, ich habe vergessen das wieder zu ändern, funktionieren tut es trotzdem nicht.

 

Weiterhin denke ich, darf oben nicht "from Bestellung, lieferadresse..." (also alle Tabellen hintereinander) stehen und danach dann nochmal die inner joins, sondern eher "from Bestellung inner join lieferadresse inner join..."

Das könnte möglich sein, doch ich verstehe deinen Lösungsvorschlag nicht ganz, könntest du ihn mir noch einmal erläutern?



#4 Cybquest

Cybquest

    Expert Member

  • 1.882 Beiträge

 

Geschrieben 15. Juli 2015 - 12:53   Lösung

select 
l.plz as 'Plz des kunden', l.strasse as 'Strasse des Kunden',
l.hausnummer as 'Hausnummer des Kunden',l.ort as 'Ort des Kunden',
a.name as 'Name des Artikels',k.nachname as 'Nachname des Kunden',
k.vorname as 'Vorname des kunden'
from
bestellung bes
inner join lieferadresse l
on l.adressid = bes.adresseid 
inner join Artikel a
on bes.artikelid=a.artikelid
inner  join kunde k
on bes.kundenid=k.kundenid

... so ungefähr hätt ich mir das vorgestellt...


My name is Frank, you can say you to me.



Auch mit einem oder mehreren der folgenden Tags versehen: MS SQL