【发布时间】:2017-05-16 14:34:08
【问题描述】:
我有这个问题:
SELECT * from tbl WHERE id = 1 AND option IN (1,2,3)
表:
+-------+---------+-------+
| id | option | votes |
+-------+---------+-------+
| 1 | 1 | 100 |
| 1 | 2 | 150 |
+-------+---------+-------+
由于表中尚不存在选项 3,我希望它返回 null / 空字符串,因此我可以在我的 php 代码中将 'votes' 设置为 0。
目前它只按预期为我提供选项 1 和 2 的行。
【问题讨论】:
-
如果您的查询没有返回给定选项的任何数据,您可以在 PHP 中执行此操作
-
IN所做的是将您提供的任何 ID 与数据库中的 ID 进行匹配。IN中的所有 id 不一定必须在您的数据库中。把它想象成OR声明。 -
如果您需要额外的选项行,则必须从 PHP 代码中完成,因为您将获得 1 和 2 的行,如果您没有 3,请在 PHP 中将投票分配给 0。
-
@ShaunakShukla 我要做的是每当在 DB 中找不到该选项时将空元素插入结果数组,然后循环遍历结果数组以将空值/null 设置为 0 php。我不知道我这样做是否正确