1Danke
ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
308
308
EMPFEHLEN
-
Hallo Community,
ich habe folgende Tabellen:
pt_ads
Code :1 2
| *ad_id | sec_id | user_id | | 5691 | 225 | 117 |
pt_picture
Code :1 2
| *pic_id | ad_id | | 4494 | 5691 |
Nun möchte ich gerne beide Tabellen miteinander verbinden und zu jedem Artikel die zugehörigen Bilder ausgeben lassen. Irgendwie funktioniert das mit meiner Abfrage nicht und ich kann mir auch nicht erklären wo der Fehler ist. Entweder kann ich mir nur die ad_id ausgeben lassen oder die pic_ad. Beide zusammen aber nicht. Ich brauche unbedingt beide IDs um weiterarbeiten zu können.
Hier mal meine Abfrage:
So erhalte ich im Moment keine Ausgabe. Lass ich z.B. die ad_id im SELECT weg werden mir die Daten angezeigt, aber die ad_id = null;PHP-Code:$sql = "SELECT ad_id, picture_id, price, subject, company
FROM pt_ads
INNER JOIN pt_users
ON pt_ads.user_id = pt_users.user_id
INNER JOIN pt_picture
ON pt_ads.ad_id = pt_picture.ad_id
WHERE FIND_IN_SET('$id', catpath) AND price != '0.00'
ORDER BY RAND() DESC";
Weiß jemand wo das Problem ist? Liegt es vielleicht am JOIN?
Gruß
Jens
-
20.01.11 13:42 #2
Verschoben in den Datenbankbereich.
KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
Zuerst mal das ganze formatiert schreiben
Und nun sehen wir doch das Problem schon. Im SELECT hast du die ad_id drin. Diese kommt aber in 2 Tabellen vor. Ergo was MySQL nicht, welches der beiden Felder es nehmen soll.Code sql:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
SELECT ad_id, picture_id, price, subject, company FROM pt_ads INNER JOIN pt_users ON pt_ads.user_id = pt_users.user_id INNER JOIN pt_picture ON pt_ads.ad_id = pt_picture.ad_id WHERE FIND_IN_SET('{$id}', catpath) AND price != '0.00' ORDER BY RAND() DESC
Ergo solltes du im SELECT-Teil bei der ad_id noch die Tabelle voranschreiben. Das gilt übrigens für alle Felder die nicht eindeutig einer Tabelle zugeordnet werden kann
Code sql:1 2 3 4
SELECT pt_ads.ad_id, picture_id, ...
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Jep, das war es. Wieder was dazu gelernt. Vielen Dank!

Gruß
Jens
Ähnliche Themen
-
[MySQL] LEFT JOIN-Fehler
Von ComFreek im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 08.01.11, 15:22 -
MS Access: Cross Join / Full Join: Anwendungsbeispiel
Von semirb im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 13.12.06, 23:43 -
[ACCESS] Inner Join nach Outer Join umformen ?
Von AlexD1979 im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 02.05.06, 10:35 -
JOIN Mysql fehler
Von PowerCheat im Forum PHPAntworten: 5Letzter Beitrag: 11.11.04, 21:34 -
Join oder nicht Join *grübel*
Von Der Held im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 17.06.02, 09:31





Zitieren

Login





