2014-12-08 4 views
-1

У меня возникли проблемы с моей MySQL QueryMysql множественный оператор условия

SELECT 
    li.town,li.county,li.postCode, 


IF(ca.qCode = '123456', ca.qCode_ans, 0) AS '123456', 
IF(ca.qCode = '254668', ca.qCode_ans, 0) AS '254668', 
IF(ca.qCode = '11234456', ca.qCode_ans, 0) AS '11234456' 

FROM lead_info AS li 
LEFT JOIN call_info AS ci ON ci.leadID = li.leadID 
LEFT JOIN cust_ans AS ca ON ca.callRecording = ci.callRecording 

+ ---- + ---------- + --------- + ---------- + --------- + ------------
город | страна | почтовый индекс | 123456 | 254668 | 11234456
+ - --- + ---------- + --------- + ---------- + --------- + ---- -------
Malan | Malasia | 9999999 | Да         | 0               | 0
+ ---- + ---------- + --------- + ---------- + --------- + -----------
Malan | Malasia | 9999999 |               | No               | 0
+ ---- + ---------- + --------- + ---------- + --------- + -----------
Malan | Malasia | 9999999 |               | KG                     | Может быть
+ ---- + ---------- + --------- + ---------- + --------- + -----------

Что мне нужно

+ ---- + ---------- + -------- - + ---------- + --------- + ------------
город | страна | почтовый индекс | 123456 | 254668 | 11234456
+ ---- + ---------- + --------- + ---------- + --------- + - ---------
Malan | Malasia | 9999999 | Да         | No             | Может быть
+ ---- + ---------- + --------- + ---------- + --------- + -----------

Очень нужна ваша помощь. Заранее спасибо.

+0

Я не согласен с понижающими голосами здесь. На этом вопрос отображается код, текущие результаты, ожидаемые результаты и попытка решить проблему. –

ответ

0

Вы можете сделать это с помощью MAX агрегата:

SELECT li.town, li.county, li.postCode, 
    MAX(IF(ca.qCode = '123456', ca.qCode_ans, 0)) AS `123456`, 
    MAX(IF(ca.qCode = '254668', ca.qCode_ans, 0)) AS `254668`, 
    MAX(IF(ca.qCode = '11234456', ca.qCode_ans, 0)) AS `11234456` 
FROM lead_info AS li 
LEFT JOIN call_info AS ci ON ci.leadID = li.leadID 
LEFT JOIN cust_ans AS ca ON ca.callRecording = ci.callRecording 
GROUP BY li.town, li.county, li.postCode 
+0

Gassho. Спасибо. –

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