2015-05-22 2 views
0

я хочу вернуться в ожидании как ноль, если это нуль:Как вернуть null в ноль в mysql?

SELECT `t1`.*, `t2`.`pending` as IFNULL(ending, `0)` 
FROM (`tblproducts` t1) 
LEFT JOIN `cache_invoice` t2 ON `t1`.`id` = `t2`.`product_id` 
LEFT JOIN `cache_stock` t3 ON `t1`.`id` = `t3`.`product_id` 

ошибка:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(ending, 0) FROM (tblproducts t1) LEFT JOIN cache_invoice t2 ON t1 . id ' at line 1

любая идея, где проблема?

+1

Не 'IFNULL (окончание,' '0)' '' но 'IFNULL (окончание, 0)'. –

+0

@mparo_afridi. Каково имя столбца, по которому вы хотите проверить IFNULL, вы также хотите создать псевдоним для него? –

+0

@mparo_afridi, Ожидает и заканчивает два отдельных столбца? –

ответ

1

вопрос здесь:

`t2`.`pending` as IFNULL(ending, `0)` 

Вы проверяете IFNULL для значения псевдонима столбца, в то время как оно должно быть следующим:

IFNULL(`t2`.`pending`, 0) as ending 

Сначала оценить, если нуль - то показать 0 и создать псевдоним, если вы хотите использовать ключевое слово «AS». Таким образом, ваш запрос будет:

SELECT `t1`.*, IFNULL(`t2`.`pending`, 0) as ending 
FROM `tblproducts` t1 
LEFT JOIN `cache_invoice` t2 ON `t1`.`id` = `t2`.`product_id` 
LEFT JOIN `cache_stock` t3 ON `t1`.`id` = `t3`.`product_id` 
+0

'$ this-> db-> select (" t1. *, IFNULL (t2.pending, 0) as pending_bal, t3.available_qty as stock ") \t \t -> from (" tblproducts t1 ");' посмотрел вот что здесь не так. , когда я запускаю и эхо last_query, этот 'IFNULL (t2.pending, 0)' стал этим 'IFNULL (t2.pending, \' 0) \ '' –

+0

Это код PHP, правильно? Это не относится к вашему предыдущему вопросу вообще ... !!! –

+0

codeignign активный код записи, я один для вас, я тоже буду принимать ваш ответ, но позвольте мне сначала исправить –

Смежные вопросы