1

我正在尝试在单个查询中使用 if、SUM 和乘法来查询和显示表的数据,最初我打算做的是;

Select column1, column2, column3, IF (column1='cr') THEN (column1='cr') * 8 + 
IF (column1='config') THEN (column1='config') * 6 + 
IF (column2='bs' AND column3='ft') THEN (column3='ft') * 4 + 
IF (column2='bs' AND column3='mj') THEN (column3='mj') * 2 + 
IF (column2='bs' AND column3='md') THEN (column3='md') * 5 + 
IF (column2='bs' AND column3='mi') THEN (column3='mi') * 3 + 
IF (column2='lf' AND column3='ft') THEN (column3='ft') * 2 + 
IF (column2='lf' AND column3='mj') THEN (column3='mj') * 1 FROM tbl_ut

上面的查询是错误的,它只是为了显示我打算做什么。我需要帮助来更正此查询。IF 用作 IF(条件,如果为真,则为值,如果为假,则为值)

还有哪些其他方法可以更正此查询?

问候

4

1 回答 1

1
Select column1, column2, column3, 
       IF (column1='cr', column1 * 8, 0) + 
       IF (column1='config', column1 * 6, 0) + 
       IF (column2='bs' AND column3='ft', column3 * 4, 0) + 
       IF (column2='bs' AND column3='mj', column3 * 2, 0) + 
       IF (column2='bs' AND column3='md', column3 * 5, 0) + 
       IF (column2='bs' AND column3='mi', column3 * 3, 0) + 
       IF (column2='lf' AND column3='ft', column3 * 2, 0) + 
       IF (column2='lf' AND column3='mj', column3 * 1, 0) 
FROM tbl_ut
于 2013-10-04T11:34:12.503 回答