join - verschiedene feldnamen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • join - verschiedene feldnamen

    ich komme mit meinen JOIN anweißungen zu kein vernünftigen ergebnis:

    meine tabellen sehen so aus:

    produkt(ID, text, hersteller_id)
    hersteller(ID, text)

    die tabelle produkt soll nun mit hersteller verknüpft werden. in produkt.hersteller_id ist die id gespeichert von der tabelle hersteller. jetzt soll produkt.hersteller_id den wert von hersteller.text bekommen. bei mir fügt er aber in bei produkt.text den wert von hersteller.text ein.

    ich hoffe das versteht jemand und kann mir sagen wie das SQL befehl dazu aussieht.

  • #2
    Wie sieht denn deine SQL-Abfrage bisher aus?
    Vermutlich kollidieren schlicht die Spalten wegen ihres gleichen Namens "text", was man i.d.R. mit "table.column" und/oder "AS name" umgehen kann.

    Kommentar


    • #3
      SELECT * FROM produkte INNER JOIN hersteller_id ON produkte.hersteller_id = hersteller.id;

      ich hab leider keine ahnung bis jetzt mit JOIN's. hab da einfach auf gut glück was zusammengebaut.

      Kommentar


      • #4
        Führe die gewünschten Spalten explizit auf. Das sollte man immer machen, "*" ist nur bei sehr vielen Spalten gerechtfertigt.

        Kommentar


        • #5
          ok nur wie sieht dann die komplette sql anweißung aus damit er bei produkt.hersteller wirklich den text einsetzt??

          Kommentar


          • #6
            SELECT p.id AS id, p.text AS ptext, h.text AS htext FROM produkte AS p, hersteller AS h WHERE p.hersteller_id = h.id

            Kommentar

            Lädt...
            X