2015-09-16 3 views
-2
SELECT process.process_name, com_jobcard.job_card_num, 

IF process.UOM = '1' THEN SET (com_jobcard.dept_qty) AS Total_qty 

ELSEIF process.UOM = '2' THEN SET (com_jobcard.total_stones) AS Total_qty 


FROM timer_completed 
INNER JOIN PROCESS ON process.id = timer_completed.process_id 
INNER JOIN com_jobcard ON timer_completed.job_card_id = com_jobcard.id 
AND timer_completed.report_date = '2015-09-15' 

Привет друзья, я хотел бы получить значение количества универмаге Когда process.UOM = 1, если еще process.UOM = '2' THEN SET (com_jobcard.total_stones) AS Total_qty, пожалуйста, помогите мне с кодом, заранее спасибоИспользование If Else в Mysql

+0

http://stackoverflow.com/questions/8763310/how-do-write-if-else-statement-in-a-mysql-query –

ответ

0

Вы можете использовать случай, когда что-то как

SELECT 
process.process_name, 
com_jobcard.job_card_num, 
case 
when process.UOM = '1' then com_jobcard.dept_qty 
when process.UOM = '2' then com_jobcard.total_stones 
end as Total_qty 
FROM timer_completed 
INNER JOIN PROCESS ON process.id = timer_completed.process_id 
INNER JOIN com_jobcard ON timer_completed.job_card_id = com_jobcard.id 
AND timer_completed.report_date = '2015-09-15' 

Примечание: на данный момент нет else поэтому его лучше добавить еще, если оба условие не

case 
    when process.UOM = '1' then com_jobcard.dept_qty 
    when process.UOM = '2' then com_jobcard.total_stones 
    else 'something you want' 
    end as Total_qty 
0

IF(condition, true_value, false_value) может быть использован таким образом

SELECT process.process_name, com_jobcard.job_card_num, 

IF(process.UOM = '1', com_jobcard.dept_qty, IF(process.UOM = '2', com_jobcard.total_stones, 0)) AS Total_qty 

FROM timer_completed 
INNER JOIN PROCESS ON process.id = timer_completed.process_id 
INNER JOIN com_jobcard ON timer_completed.job_card_id = com_jobcard.id 
AND timer_completed.report_date = '2015-09-15'