Hallo,
ich habe mal wieder einen kleinen Logikfehler in meiner Datenbankstruktur.
Tabellenspalten:
Nun ist es so aufgebaut, dass ein Spiel in mehrere Kategorien passt. Ich baue dazu mal eine Beispieltabelle:
So speichere ich die Daten aktuell ab. Nun habe ich aber das Problem, dass wenn ich mir nur Spiele anzeigen will die in der catid 5 und 6 ich diese mir nicht anzeigen lassen kann weil in der Strukur nur mit OR gearbeitet werden kann. Wie kann ich die Tabelle ressourcenschonend anlegen? Ich hoffe ihr könnt mehr helfen und versteht mein Anliegen.
Beispiel meines Problems:
Ergebnis:
gameid 300 wird auch angezeigt, weil eben nach 5 ODER 6 gefragt wird. mit UND würde ich keine Ergebnisse halten. Die Frage ist wiegesagt wie ich meine Tabelle anders anlege...
Vielen Dank!
ich habe mal wieder einen kleinen Logikfehler in meiner Datenbankstruktur.
Tabellenspalten:
Code:
gameid, catid
Nun ist es so aufgebaut, dass ein Spiel in mehrere Kategorien passt. Ich baue dazu mal eine Beispieltabelle:
Code:
gameid, catid
100, 5
100, 6
100, 12
100, 16
200, 1
200, 5
200, 6
300, 6
400, 2
So speichere ich die Daten aktuell ab. Nun habe ich aber das Problem, dass wenn ich mir nur Spiele anzeigen will die in der catid 5 und 6 ich diese mir nicht anzeigen lassen kann weil in der Strukur nur mit OR gearbeitet werden kann. Wie kann ich die Tabelle ressourcenschonend anlegen? Ich hoffe ihr könnt mehr helfen und versteht mein Anliegen.
Beispiel meines Problems:
Code:
SELECT `gameid` FROM `table` WHERE `catid` = 5 OR `catid` = 6 GROUP BY `gameid`
Ergebnis:
Code:
gameid
100
200
300
gameid 300 wird auch angezeigt, weil eben nach 5 ODER 6 gefragt wird. mit UND würde ich keine Ergebnisse halten. Die Frage ist wiegesagt wie ich meine Tabelle anders anlege...
Vielen Dank!
Zuletzt bearbeitet: