Hallo,
jetzt spiel ich mich schon seit Stunden mit einer einzigen Abfrage und bin eigentlich davon überzeugt, dass es so gehen sollte... jedoch tut es das nicht :-)
Folgendes ist mein Problem:
Ich habe 2 Tabellen, die 1. heißt "recipes", die 2. "payments". In der recipes sind unter anderem die Spalten id, title, description, price enthalten. In der payments lauten die Spalten id, user_id, recipe_id.
Payments schaut derzeit so aus:
(id) (user_id) (recipe_id)
1 1 2
2 2 3
3 1 1
4 2 4
Nun möchte ich, dass jene Rezepte angezeigt werden, die ein Benutzer noch NICHT in der payments stehen hat, also wären das in dem Fall für den User 1 die recipe_id's 3 und 4.
Meine Abfrage sieht so aus:
SELECT `recipes`.`id`,
`recipes`.`title`,
`recipes`.`description`,
`recipes`.`price`,
`payments`.`user_id`,
`payments`.`recipe_id`
FROM `recipes`,
`payments`
WHERE `payments`.`user_id` = 1
AND `recipes`.`id` != `payments`.`recipe_id`
Funktioniert das mit dieser "einfachen" Abfrage, oder bedarf es etwas komplexerem? Ich hoffe es findet sich jemand der mir bei dieser Angelegenheit helfen kann :-)
Lg
jetzt spiel ich mich schon seit Stunden mit einer einzigen Abfrage und bin eigentlich davon überzeugt, dass es so gehen sollte... jedoch tut es das nicht :-)
Folgendes ist mein Problem:
Ich habe 2 Tabellen, die 1. heißt "recipes", die 2. "payments". In der recipes sind unter anderem die Spalten id, title, description, price enthalten. In der payments lauten die Spalten id, user_id, recipe_id.
Payments schaut derzeit so aus:
(id) (user_id) (recipe_id)
1 1 2
2 2 3
3 1 1
4 2 4
Nun möchte ich, dass jene Rezepte angezeigt werden, die ein Benutzer noch NICHT in der payments stehen hat, also wären das in dem Fall für den User 1 die recipe_id's 3 und 4.
Meine Abfrage sieht so aus:
SELECT `recipes`.`id`,
`recipes`.`title`,
`recipes`.`description`,
`recipes`.`price`,
`payments`.`user_id`,
`payments`.`recipe_id`
FROM `recipes`,
`payments`
WHERE `payments`.`user_id` = 1
AND `recipes`.`id` != `payments`.`recipe_id`
Funktioniert das mit dieser "einfachen" Abfrage, oder bedarf es etwas komplexerem? Ich hoffe es findet sich jemand der mir bei dieser Angelegenheit helfen kann :-)
Lg
Comment