我正在使用SLQ Server 2005。
我有这张桌子,是我登记的物品清单,用于创建将被发送到仓库的“订单”,因此他们知道需要将其寄回什么。
这是我的代码。
id_pedido=id_order, id_articulo=id_item, descripcion=description, fecha=date, nombre=employee name, local=store, (inicia+entra+sale) Existencias=stocks, tipo=Kind, --estado=state, activo=active.--
select id, id_pedido, p.id_articulo, p.descripcion, p.fecha, u.nombre, p.local,a.inicia+a.entra-a.sale as Existencias, a.tipo
from pedidos p join usuarios u on p.id_usuario=u.id_usuario join articulos a on a.id_articulo=p.id_articulo
where estado='activo'
我需要的是仅在商品的种类为X时才显示库存栏中的值。当种类不是X且种类为X时,如何在库存栏中显示所有具有空值的行?
这是因为客户只希望员工知道这些项目的库存,而不是所有其他项目的库存。
最佳答案
您可以使用CASE
将tipo列与所需值进行比较:
select id,
id_pedido,
p.id_articulo,
p.descripcion,
p.fecha,
u.nombre,
p.local,
case when a.tipo = 'X' then a.inicia+a.entra-a.sale end Existencias,
a.tipo
from pedidos p
join usuarios u on p.id_usuario=u.id_usuario
join articulos a on a.id_articulo=p.id_articulo
where estado='activo'
关于sql - SQL查询,仅在以下情况下选择列的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16431834/