[MySQL] zweimal WHERE auf eine Spalte

alphaflow

Grünschnabel
hallo

ich habe eine Tabelle in der eine spalte ist für die klassen gedacht sind
jetzt wollte ich zwei klassen auf einmal aufrufen
ich sitze irgendwie fest

erst habe ich gedacht ich mach es mir einfach
PHP:
SELECT * FROM $db WHERE aktiv = '1' AND klasse = 'Asura Warrior'  AND klasse = 'Gaia Warrior' order by sortierung, rang, klasse
aber das geht nicht

vielleicht habt ihr eine Idee wie man das machen könnte
 
Wenn ich dich richtig verstehe, dann versuchs doch mal mit OR statt AND!

PHP:
SELECT * FROM $db WHERE aktiv = '1' AND klasse = 'Asura Warrior'  OR klasse = 'Gaia Warrior' order by sortierung, rang, klasse
 
Wenn ich dich richtig verstehe, dann versuchs doch mal mit OR statt AND!

PHP:
SELECT * FROM $db WHERE aktiv = '1' AND klasse = 'Asura Warrior'  OR klasse = 'Gaia Warrior' order by sortierung, rang, klasse

aber so wird das auch nicht gehn, alpha will ja beide klassen auf einaml aufrufen und nicht entweder oder ?

oder sehe ich da was falsch

ich würde die abfragen nacheinander machen, oder brauchst du unbedingt ergebnisse aus beiden klassen auf einmal ?
 
Aber klasse ist ja ein Feld, und ein Feld kann in einem Eintrag nur einen Wert haben, und nicht beide... iwie versteh ich jetz gar nichts mehr! :confused:
 
ich habe ne ganz normale Tabelle

id rang klassen name ...
1 5 A1 ...
2 7 A2 ...
3 2 B1 ...

usw
sind grade 82 Einträge a 50 spalten
da die klassen mehrfach vorkommen habe ich mir gedacht damit zu sortieren

jetzt bräuchte ich aus der spalte klassen A1 und B1
und da ist mein Problem

kann auch sein da mein Ansatz falsch ist
ich sitze jetzt schon zwei Tage an dem Problem und dreh mich nur im Kreis
 
Zuletzt bearbeitet:
Hallo,

ich würde das einfach so lösen:
Code:
SELECT *
FROM $db
WHERE `aktiv` = 1 AND `klasse` IN ('Asura Warrior', 'Gaia Warrior')
ORDER BY `sortierung`, `rang`, `klasse`

Grüße,
Matthias
 
Hi.
Wenn ich dich richtig verstehe, dann versuchs doch mal mit OR statt AND!

PHP:
SELECT * FROM $db 
  WHERE aktiv = '1' AND klasse = 'Asura Warrior'  OR klasse = 'Gaia Warrior' 
  order by sortierung, rang, klasse
Das wäre nicht ganz richtig, da der Operator AND eine höhere Priorität hat als OR.
SQL:
SELECT * FROM $db 
  WHERE aktiv = '1' AND ( klasse = 'Asura Warrior'  OR klasse = 'Gaia Warrior')
  order by sortierung, rang, klasse
sollte äquivalent zu Matthias Lösung sein.

Gruß
 

Neue Beiträge

Zurück