Ich bin ein Walkthrough-Autor für Spiele. Ich versuche, alle Zeilen anzuzeigen, die alle Kriterien erfüllen. Momentan zeigt die Tabelle Ergebnisse aus jeder der Tabellen an, aber ich möchte diese Ergebnisse zusammenführen, sodass, wenn das Suchkriterium mit allen Benutzereingaben übereinstimmt, nur Zeilen zurückgegeben werden, die zu diesem Ergebnis passen. Was ist der beste Weg, dies zu erreichen? Ich habe versucht, UND vor den UNION-Klauseln zu verwenden, aber es gibt mir Fehler # 1064.Zusammenführen von SQL-Abfrage-Ergebnissen
Lassen Sie uns diese Beispieltabelle haben.
+--------+-------------------------+------------+--------------+
| FAQ_ID | FAQ_Title | Game | Platforms |
+--------+-------------------------+------------+--------------+
| 32 | General Walkthrough FAQ | WWE | PS2, PSP, DS |
| 34 | Early EXP Farming FAQ | Digimon | PS4, PS Vita |
| 35 | General Walkthrough FAQ | Toy Story | PS1 |
| 36 | General Walkthrough FAQ | Metal Slug | DS |
+--------+-------------------------+------------+--------------+
Dann habe ich diesen Code
SELECT FAQ_ID, FAQ_Title, Game, Platforms FROM faqlist WHERE FAQ_Title
LIKE 'General Walkthrough%'
AND UNION
SELECT FAQ_ID, FAQ_Title, Game, Platforms FROM faqlist WHERE Platforms = '%DS%'
AND UNION
SELECT FAQ_ID, FAQ_Title, Game, Platforms FROM faqlist WHERE Game = 'Metal Slug'
ORDER BY FAQ_ID ASC;
Dies ist nur die Zeile mit FAQ_ID von 36 zurückgeben sollte und eliminiert den Rest.
Hinweis: einige 'OR' die in' WHERE' oder entfernen 'und' vor' UNION'. – Blank
Normalisieren Sie einfach. – Strawberry
Ich wollte ein Ergebnis anzeigen, das allen Kriterien entspricht. Wenn die Benutzereingabetyp als allgemeine Walkthrough, ein Spiel als Metal Slug und Plattformen als DS, sollte es nur die Zeile von FAQ_ID 36 anzeigen. 32, 34 und 35 sollten nicht angezeigt werden, da es nicht die Kriterien –