データベースの結果にいくつかの値を表示しようとしています。このコードを使用していますが、成功できません。
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:表示したい例:
If category_code = 'HERR1'
Display = 1
else if category_code = 'COLN5'
Display = 2
End If
誰かが何か考えがあれば、それを大いに感謝します
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
_
しかし、IF
も機能します:IF(category_code='HERR1',1, IF(category_code='COLN5',2,'NO'))
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
次に、最初のifが失敗し、ネストされたifが評価されます
これはあなたが求めていたものですか?
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
以下をお試しください
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
親切にIt It Simple Simple It Worksを使用してください。
SELECT if(reference_customer_id = 0,sum(((package_priceemployee_percentage)/100)),sum(((package_priceemployee_percentage)/100)))
as direct_commission
これを試すことができます。選択クエリでIFを使用して、必要なテーブルを更新します;)
テーブルstudent(marks int、grade char);を作成します。
学生の値に挿入(200、null)、(120、null)、(130、null);
生徒の内部結合を更新(s.marks、IF(s.marks> = 200、 'A'、IF(s.marks> = 130、 'B'、 'P')を選択)AS Grade
from生徒s)b on a.marks = b.marks SET a.Grade = b.Grade;
私の3列のテーブルでは、1つはpackage_price, employee_percentage, reference_customer_id
です。
reference_customer_id > 0
の場合は従業員の割合をreferenced_commission
として、reference_customer_id = 0
の場合は直接コミッションを求めます。私は以下の方法を試しました:
SELECT if(reference_customer_id = 0, sum(((package_price*employee_percentage)/100)) , 0) as direct_commission, if(reference_customer_id > 0, sum(((package_price*employee_percentage)/100)) , 0) as reference_commission