Announcement

Collapse
No announcement yet.

SQL Abfrage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL Abfrage

    Hallo liebe Nutzer,
    Ich bin neu hier und habe mal eine Frage zu einer Sql-Abfrage.

    Ich habe eine Datenbank mit folgender Sturktur.

    Tabelle [Adressen]
    Feld [AdressID] Feld [AdresseName]

    Tabelle [AdressVerw]

    Feld [AdressID], Feld [AdressZusa]

    Tabelle [Infos]

    Feld [AdressZusa] Felder [weitere Felder mit Informationen]

    Ich brauche eine Sql-Abfrage mit der Ich alle Daten nach [AdressName] und den dein weiteren Feldern der Tabelle Infos mir gewisse Filter setzen kann.

    Wie kann man Daten aus meheren Tabellen in einer Abfrage Filtern?

    Ich dachte an sowas wie...


    SELECT
    -- Felder der Tabelle Adressen--

    [AdressID],[AdresseName],

    -- Felder der Tabelle AdressVerw--
    [AdressID],[AdressZusa],

    -- Felder der Tabelle Infos--
    [AdressZusa], [und weitere Felder],

    -- Auswahl der Tabellen Adress...--

    FROM [Datenbankname].[dbo].[Adressen],[Datenbankname].[dbo].[AdressVerw],[Datenbankname].[dbo].[Infos]

    -- Definition der Filter Bedingungen --
    Where ...

    Das Problem an der stelle ist das zum Beispiel AdressID mehrmals vorkommt ich aber an diesem Kriterium nur die 2 Tabellen verbinden kann.

    Ich hat sowas schonmal jemand gemacht?

  • #2
    Achso bei der jetzigen Form der Abfrage kommt der Fehler...

    Meldung 209, Ebene 16, Status 1, Zeile 10
    Mehrdeutiger Spaltenname 'AdressID'

    Comment


    • #3
      a) Aliasse vrwenden (Anstatt "A" oder "B" sollte man etwas aussagekräftigere nehmen)
      b) JOIN Syntax nach SQL-92 Syntax verwenden, nicht den alten Sch....
      c) Wenn die Tabellen nicht in verschiedenen Datenbanken leigen, sollte man diese auch weglassen
      d) Und die Strebersyntax von Ms-Sql muss auch nicht sein (eckige Klammern)

      Code:
      SELECT
      A.AdressID AS  AID , 
      A.AdresseName,
      B.AdressID AS BID , 
      B.AdressZusa
      FROM [dbo].[Adressen] AS A
      JOIN  [dbo].[AdressVerw] AS  B ON B.AdressID = A.AdressID
      usw...
      Where ...
      Zuletzt editiert von ebis; 27.10.2009, 11:15. Reason: B.AdressID = A.AdressID anstatt B.AdressID = A.B.AdressID

      Comment


      • #4
        H3h3 Danke...
        Ich probiere es gleich aus :P
        Strebersyntax ist gut^^

        Comment

        Working...
        X