Ich habe eine Tabelle artefact_combos:MySQL: alle Kombinationen auswählen, wo erforderliche Anzahl von Kombinations Artikel ist im Besitz
id name points study_time
3 Climate Priority Oven 13333 13333
und weitere artefact_combo_items Angabe Elemente und die Anzahl dieser Elemente erforderlich, um die zu machen artefact_combo:
id artefact_combo_id thing_id number
138 3 809 2
139 3 798 3
141 3 583 1
Dann wird eine dritte Tabelle von user_thing:
SELECT *
FROM `user_thing`
WHERE (thing_id =809
OR thing_id =798
OR thing_id =583) WHERE user_id=4
LIMIT 0 , 30
id user_id thing_id
3229 4 583
17756 4 583
Also in diesem Fall Benutzer 4 hat> = die erforderliche Anzahl der Artikelnummer 583, aber keiner der anderen erforderlichen Elemente, ich würde also erwarten und leeres Ergebnis. Wenn das Ergebnis war:
id user_id thing_id
3229 4 583
156 4 583
17756 4 789
17856 4 789
67756 4 789
122323 4 809
434 4 809
würde ich ein Ergebnis mag gesetzt wie:
id name points study_time
3 Climate Priority Oven 13333 13333
Ich versuche, eine MySQL-Abfrage zu erstellen, die eine Liste von artefact_combos zufließen wird, für die eine bestimmte user_id die erforderliche Anzahl von artefact_combo_items für den artefact_combos hat.
Mein letzter Versuch der letzten vier Stunden war:
SELECT foo.thing_id,
count(user_thing.id)
FROM
(SELECT
a.name,
c.id,
c.artefact_combo_id,
c.thing_id,
c.number
FROM artefact_combo_items AS c
INNER JOIN user_thing AS b ON b.id = c.thing_id
INNER JOIN artefact_combos AS a ON a.id = c.artefact_combo_id
ORDER BY a.name DESC) AS foo, user_thing WHERE user_thing.id = foo.thing_id
Ich entschuldige mich, wenn diese Frage zu spezifisch ist oder schlecht erklärt; Ich habe vielleicht mehr abgebissen, als ich gerade bereit bin zu kauen. Jeder Gedanke, jede Andeutung oder jeder Unterricht würde sehr geschätzt werden. Vielen Dank!
Sie scheinen kein Primärschlüssel auf dem dritten Tisch zu haben, möglicherweise Dinge unmäßig schwierig – Strawberry
Ihre Anfrage machen nicht Ihr Schema entsprechen. Vielleicht könntest du diese Seite http://sqlfiddle.com/ benutzen, um ein minimales Beispiel zu erstellen und uns zu sagen, welche Ergebnisse du erwartest –
@Strawberry Danke - Ich habe versucht, die Frage zu ändern, um genauer zu sein, was ich bin tatsächlich zugewandt. –