如果存在已关闭状态的客户,请选择故障单ID

时间:2013-01-08 13:07:06

标签: php mysql

我的数据库上有太多门票的客户,这些门票的状态太多了。我想要一个可以拉出cutomer的票号的查询,只有当票证状态为!='已关闭'时。否则它应该返回null。

非常感谢您的快速回复。

编辑:这是我的查询:

SELECT CASE WHEN custom_field_3 != 'Closed' THEN item_id ELSE NULL END AS ticketID 
FROM aims_items 
WHERE custom_field_22 =221226

现在有效,这是我的解决方案:

选择   情况何时   (    SELECT COUNT(*)     来自aim_items     在哪里custom_field_3!='已关闭'     AND custom_field_22 = 221226    )大于0   然后    ITEM_ID   其他    空值   结束 AS ticketID  来自aim_items  哪里  custom_field_3!='已关闭'   和  custom_field_22 = 221226 谢谢你的合作。

2 个答案:

答案 0 :(得分:0)

如果没有表格结构,则无法评估问题所在。从您的描述中可以看出像

这样的简单查询
SELECT item_id from aim_items WHERE custom_field_3 != 'Closed' AND custom_field_22 = 221226

就够了。然后,您可以计算返回的行数以确定结果。

但是,如果要求返回null,请尝试以下操作:

SELECT (SELECT item_id from aim_items WHERE custom_field_3 != 'Closed' AND custom_field_22 = 221226) AS ticketID

上面将基本选择封装到子查询中,以提供空结果。

答案 1 :(得分:0)

尝试此查询:

SELECT IF(custom_field_3!='Closed',item_id,'') as ticketID FROM `aims_items`

请记住,我没有写过你桌子上的确切字段。这只是向您展示的示例。有关详细信息,请参阅以下链接
http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html