2016-04-07 1 views
0

Ich versuche, die Zahlen mit Kommas anzuzeigen, während ich es aus meiner mySQL-Datenbank abholen. Die verfügbaren Werte sollten als xx, xx, xxx angezeigt werden, und wenn die Zeilen keinen Wert haben, sollte sie 0.00 anzeigen. Ich versuche, mit dem folgenden Code:Versuchen, Zahlen mit Kommas anzuzeigen, während es aus der Datenbank abgerufen wird

SELECT 
    `table1`.`user_name`, 
    FORMAT(`table2`.`value`, 2) AS `value`, 
    `table1`.`user_id` 
FROM 
    `table1` 
LEFT OUTER JOIN `table2` ON `table2`.`user_id` = `table1`.`user_id` 
LEFT OUTER JOIN `table3` ON `table3`.`user_id` = `table1`.`user_id` 
LEFT OUTER JOIN `table4` ON `table4`.`role_id` = `table4`.`role_id` 
WHERE 
    `table4`.`role_id` = '5' 

Nun, das Problem ist, wenn die Werte vorhanden sind erhalte ich es richtig, aber wenn es keinen Wert, es null zeigt. Was soll ich tun, um 0,00 statt Null anzuzeigen?

+0

Vielleicht für 'IFNULL Sie suchen()' Funktion. – mitkosoft

+0

@mitkosoft, Ich möchte beide in der gleichen Spalte anzeigen, wie row1-12,236.00 (wenn Daten vorhanden sind), row2-0.00 (wenn keine Daten vorhanden sind). Ich habs? –

Antwort

0

können Sie IFNULL() dafür verwenden, um zeigt gewünschte Ausgabe, wenn der Wert NULL ist:

SELECT 
    `table1`.`user_name`, 
    IFNULL(FORMAT(`table2`.`value`, 2),'0.00') AS `value`, 
    `table1`.`user_id` 
FROM 
    `table1` 
LEFT OUTER JOIN `table2` ON `table2`.`user_id` = `table1`.`user_id` 
LEFT OUTER JOIN `table3` ON `table3`.`user_id` = `table1`.`user_id` 
LEFT OUTER JOIN `table4` ON `table4`.`role_id` = `table4`.`role_id` 
WHERE 
    `table4`.`role_id` = '5' 
Verwandte Themen