Abfrage über mehrere Tabellen mit Join

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

  • Abfrage über mehrere Tabellen mit Join

    Ich hab ein Produkt welches viele Links besitzt.
    Ein Benutzer besitzt mehrere Shops und ein Link ist jeweils für einen Shop gültig.

    Ich bin schon relativ weit aber die Query unten zeigt alles 3x an und wenn noch kein Link existiert gar nichts.

    Alles was ich will ist, dass immer ALLE shops für das jeweilige Produkt angezeigt werden auch wenn noch kein Link existiert.

    Also alle Shops und alle Links für das jeweilige Produkt, auch wenn bei manchen shops noch kein Link drin ist.

    Das ist meine derzeitige Query:

    "SELECT shops.shopName, shops.shopID, links.linkURL as link, links.shopID as update_shopID, links.linkID, links.produxID FROM shops LEFT OUTER JOIN links ON links.produxID = '"+ID+"' ";

    Und das die Tables:

    links:
    linkID,
    produxID,
    shopID,
    linkURL,
    linkOwner

    produx:
    pID,
    pName,
    pHersteller,
    pUser

    shops:
    shopID,
    shopName

    user_shops:
    userID, shopID

    Und eine User Tabelle aber die ist hier unwichtig..

    Vielen Dank für jegliche Hilfe!

  • #2
    Also .. ich schaue mir mal deine Tabellen an:

    - in der produx-Tabelle hast du eine Produkt-id
    - in der shops-Tabelle hast du eine Shop-id
    - in der links-Tabelle hast du dann Produkt-id und Shop-id als Fremdschlüssel drin

    Also kannst du die Produkte über die Links mit den Shops verbinden.

    Da du nun aber weder in der shops-Tabelle einen Fremdschlüssel zu den Produkten, noch in der produx-Tabelle einen Fremdschlüssel zu den Shops hast, ist es natürlich nicht möglich eine Verbindung ohne einen Link zu finden.

    Ergo: du hast kein Problem mit deinem SQL, sondern mit dem Design, shops und Produkte stehen in keiner direkten Verbindung.
    [color=red]Geht nicht[/color] ist keine Fehlermeldung

    Kommentar

    Lädt...
    X