mysql-select-Abfrage über zwei Tabellen
Ich versuche, ein Ergebnis aus zwei Tabellen, ohne eine zweite verschachtelte Abfrage in der ersten Abfrage-Schleife.
Ich habe eine Tabelle Produkte:
product_code_1234 | product_name | otherfields...
Und eine Tabelle Kategorien, wo ein Produkt kann mehreren Kategorien:
category_name_1 | product_code_1234
category_name_2 | product_code_1234
category_name_3 | product_code_1234
Gibt es eine Abfrage, um das folgende Ergebnis?
product_code_1234 | product_name | ... | category_name_1 | category_name_2 | category_name_3
- Können Sie einige Beispiel-Daten, und dann das gewünschte Ergebnis?
Du musst angemeldet sein, um einen Kommentar abzugeben.
erhalten Sie alle Daten aus Tabelle a in Verbindung mit allen Daten aus der Tabelle b.
Allerdings, wenn Sie nicht möchten, dass die Wiederholung von Daten und es gibt keine Verbindung zwischen Tabelle a und b, es kann nicht getan werden, ohne eine union oder ähnliches
Davon aus, dass Sie diese Tabellen:
Hier ist eine Abfrage basierend auf eine andere Antwort, das wäre mit gewünschten Ergebnis, wenn meine interpretation richtig ist:
Dies ist das Ergebnis:
Es ist nicht möglich, obwohl, um eine dynamische Anzahl von Kategorien in der Ergebnis. In diesem Fall beschränkte ich die Zahl 3, wie in deiner Frage. Möglicherweise gibt es noch eine Lösung mit einer besseren Leistung. Auch dies ist offensichtlich eine verschachtelte Abfrage, und daher wahrscheinlich nicht geeignet für Ihre Bedürfnisse. Dennoch ist es das beste, das ich kommen konnte mit.
JOIN
Da ist auch der SQL BEITRETEN - Klausel, das könnte sein was du suchst:
Würden Sie am Ende mit diesem Ergebnis:
Ich denke, dass müssen Sie zwei separate Abfragen.
Eine abgerufen Produkte, eine zum abrufen der Produkt-Kategorien.
Verwenden Sie dann Skriptsprache (wie PHP) zu erreichen, was Sie wollen mit den Ergebnissen (anzeigen, exportieren, wie auch immer).