[MySQL] Standard-Wert für nicht gefundenen Tabelleneintrag

glowhand

Programmierer
21 April 2006
273
16
Öhm ja... moin^^
Also das Ding ist, dass ich zum Beispiel Bannerkampagnen aus einer MySQL-Datenbank auslesen lasse. Zu jeder Banner-Kampagne gibt es die Spalte advertiser_id, die sich auf die ID in der Tabelle advertisers bezieht.
Ich möchte die Banner-Kamagnen auslesen und gleich dazu die Daten des Sponsors... klappt ja auch wunderbar.
Nur, wenn die Banner-Kampagne über den Administrator-Account gebucht wird, soll die ID 0 sein -> es wird kein Sponsor gefunden. Trotzdem soll dann ein Sponsor-Nickname, nämlich "Administrator", zurückgegeben werden.
Recht einfach wäre es natürlich, die MySQL-Abfrage einfach so zu lassen, und mit PHP mit foreach das Array durchgehen und überprüfen, ob ein Sponsor-Name existiert. Die Lösung gefällt mir aber nicht unbedingt.
Also, kann man das über MySQL lösen?8)
 
bau einfach ein IF STatement in dein Query ein anstatt
Code:
select ..., `advertiser_id`...
nimmst einfach
Code:
select ....., IF(`advertiser_id` = 0, 'Administrator', `advertiser_id`) AS `advertiser_id` ....
 
Meiner Meinung nach schöner wäre es jedoch, den Administrator ebenfalls in die Tabelle "advertisers" einzutragen...
 
ja, das habe ich mir auch schon überlegt, dass ich den sponsor-account mit dem administrator-account irgendwie verbinde, aber es bietet sich insgesamt nicht an.