首页 > 解决方案 > 从数据库中查询一列,但在表视图中显示两列差异条件

问题描述

这是我的数据库“Stock”和“Quan”:

item     model     Quantity
-----------------------------
    A         2       3                 
    A         3       4
    B         3       1
    C         3       1
    D         2       1
    E         2       1
    F         3       2
    G         2       2

当前代码

Select stock.item, stock.model, stock.Quantity as model_2
FROM stock
WHERE stock.item ='2'

当前显示:

 item     model_2 
  --------------------
     A         3
     D         1
     E         1
     G         2

以任何方式显示一个带有条件的列:

WHERE stock.item ='3'

这样我就可以显示如下表?

item   model_2    model_3
----------------------------
A        2          4
B        0          1                  
C        0          1
D        1          0
E        1          0
F        0          2   
G        2          0

谢谢!!!!!!!!!!!!

标签: mysql

解决方案


将模运算符与CASE表达式一起使用:

SELECT
    item,
    CASE WHEN model % 2 = 0 THEN model ELSE 0 END AS even,
    CASE WHEN model % 2 = 1 THEN model ELSE 0 END AS odd
FROM abc;

推荐阅读