MYSQL:编写一个查询,其中列是布尔表达式的结果

时间:2011-03-01 01:43:18

标签: mysql sql

我有一张表格,其中包含以下列:

deposit_received
paperwork_received
preferred_physician
preferred_physician_phone

我们使用此数据的其中一个视图涉及显示是否缺少任何此类数据。我可以在PHP中简单地安排这个,但我宁愿在MySQL中做它(如果我可以在MySQL中使用它,它会利用框架的排序功能。

基本上,我需要编写一个返回的查询:

col1 | col2 | ... | (deposit_received == true && paperwork_received == true && preferred_physician != null && preferred_physician_phone != null)

我已经看过你可以使用的一些功能了,但是我无法绕过它。

提前致谢! 罗布

2 个答案:

答案 0 :(得分:3)

您可以随时编写查询:

SELECT col1, col2,
    (deposit_received
    AND paperwork_received 
    AND preferred_physician IS NOT NULL
    AND preferred_physician_phone IS NOT NULL)
  AS Result
FROM tableName

括号是可选的,但它提高了可读性。

答案 1 :(得分:0)

查看COALESCE函数来处理NULL,例如函数'COALESCE'可以简化使用空值的工作。例如,要将null视为零,可以使用:

select COALESCE(colname,0) from table where COALESCE(colname,0) > 1;