2017-03-15 10 views
0

Ist es möglich, ein Ergebnis weicht OR-AbfrageMySQL Wo oder Abfrage ein Alias ​​führen

SELECT name FROM table WHERE age = 18 OR age = 0 

Ergebnis zu erhalten:

| name | 
---------- 
| Tim | 
| Tom | 
| Olli | 

Aber ich brauche:

Ergebnis:

| name | alias | 
------------ 
| Tim | no-age | 
| Tom | age18 | 
| Olli | age18 | 

Ist das möglich?

+0

Ja, es ist möglich. Verwenden Sie einen 'case' Ausdruck in der Auswahlliste. – jarlh

+0

Mögliches Duplikat von [MySQL Select-Anweisung mit CASE oder IF ELSEIF? Nicht sicher, wie Sie das Ergebnis erhalten] (http://stackoverflow.com/questions/8600671/mysql-select-statement-with-case-or-if-elseif-not-sure-how-to-get-the-result) – AxelH

Antwort

3

Sie können einen Ausdruck case verwenden, um das Alter in das gewünschte Ergebnis zu übersetzen. Beachten Sie auch, dass die Bedingung in der where-Klausel mit dem in Operator neu geschrieben werden könnte, um es elegant:

SELECT name, CASE age WHEN 0 THEN 'no-age' ELSE 'age18' END AS `alias` 
FROM mytable 
WHERE age IN (18, 0) 
+0

Vielen Dank. Dieser Code ist perfekt. – Korty

+1

Im Falle von Two {SELECT Querys zum Beispiel SELECT count ('id') AS Summe FROM' Tabelle' WHERE 'cloumn1' = 0"} und {SELECT Querys zum Beispiel SELECT count ('id') AS Summe FROM' Tabelle' WHERE 'cloumn2' = 0"} Ist es möglich, eine Summe zu erhalten? – Korty

+0

ja möglich. Suche nach solchen Fragen auf SO oder post neue Frage –