2012-03-10 11 views
7

Sto cercando di visualizzare somes valori nel mio risultato base di dati, io sto usando questo codice, ma non posso avere successo:multipla if sulla MYSQL

SELECT item_code, IF(category_code = 'HERR1', 'NO', 1) OR (category_code = 'COLN5', 'NO', 2) AS category_code, item_name, item_quantity FROM qa_items 

EDIT: voglio visualizzare per esempio :

If category_code = 'HERR1' 
Display = 1 
else if category_code = 'COLN5' 
Display = 2 
End If 

Se qualcuno ha qualche idea, notevolmente lo apprezzerei

+0

Bene, un'istruzione select non comporta alcuna modifica dei dati sottostanti. È necessario utilizzare invece un'istruzione UPDATE. –

+0

Scusa Intendevo mostrare il risultato –

+0

Quali errori stai ottenendo? Puoi pubblicare le uscite previste ed effettive? –

risposta

23

Preferisco utilizzare CASE:

SELECT item_code, 
CASE category_code 
WHEN 'HERR1' THEN 1 
WHEN 'COLN5' THEN 2 
ELSE 'NO' 
END as category_code, item_name, item_quantity 
FROM qa_items 

Ma IF sarà anche lavorare: IF(category_code='HERR1',1, IF(category_code='COLN5',2,'NO'))

4

è necessario nido istruzioni if ​​

SELECT item_code, IF(category_code = 'HERR1', 'NO', IF(category_code = 'COLN5', 1, 2)) AS category_code, item_name, item_quantity FROM qa_items 

Poi il primo, se non riesce e il nidificato se valuterà

4

'questo quello che erano, dopo?

SELECT 
    item_code, 
    CASE category_code 
    WHEN 'HERR1' THEN 1 
    WHEN 'COLN5' THEN 2 
    ELSE 'NO' 
    END AS category_code, 
    item_name, 
    item_quantity 
FROM qa_items 
1

Provate il seguente

SELECT item_code, CASE category_code WHEN 'HERR1' THEN 1 WHEN 'COLN5' THEN 0 ELSE 'NONE' END AS category_code, item_name, item_quantity FROM qa_items 
0

Nella mia tabella 3 colonne, uno è package_price, employee_percentage, reference_customer_id.

Ora voglio se reference_customer_id> 0 quindi la percentuale del dipendente come reference_commission e se reference_customer_id = 0 quindi direct commission. Ho provato sotto modo:

SELEZIONA se (reference_customer_id = 0, sum (((package_price employee_percentage)/100)), 0) come direct_commission, se (reference_customer_id> 0, sum (((package_price employee_percentage)/100)), 0) come reference_commission