MYSQL上的多个IF语句

Joh*_*ñez 14 mysql if-statement multipleselection

我正在尝试在我的数据库结果中显示某些值,我正在使用此代码,但我无法成功:

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
Run Code Online (Sandbox Code Playgroud)

编辑: 我想显示例如:

If category_code = 'HERR1'
 Display = 1
else if category_code = 'COLN5'
 Display = 2
End If
Run Code Online (Sandbox Code Playgroud)

如果有人有任何想法,将非常感激

a1e*_*x07 31

我宁愿用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
Run Code Online (Sandbox Code Playgroud)

IF也会奏效:IF(category_code='HERR1',1, IF(category_code='COLN5',2,'NO'))


Mar*_*lis 10

您需要嵌套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
Run Code Online (Sandbox Code Playgroud)

然后第一个if将失败,嵌套if将进行评估


nni*_*ols 5

这是你追求的吗?

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
Run Code Online (Sandbox Code Playgroud)