看似相同的sql查询返回不同的数据

时间:2016-09-14 14:50:32

标签: php mysql sqlite

我有4个不同的SQL查询应该将相同的数据放在一起。

这是一个:

$sql = "SELECT * from qc_logged WHERE (Tester!='' OR Technician!='' OR Packager!='') AND hasIssue=1 AND Timestamp='$searchDate2';";

它的方式不是,它似乎只返回Packager不为空的行,因为它返回15个结果。

现在,如果我更改它只有一个OR语句,它会返回正确的信息量。 Tester!=应该返回4行,Technician!=应该返回3行,而Packager!=应该返回15行。

然后这些行将显示在表格中。

在另一页上,我将这些数据分成3个单独的单行。

$amt1 = $db->querySingle("SELECT count(*) from qc_logged WHERE Tester!='' AND hasIssue=1 AND Timestamp='$searchDate2'");
$amt2 = $db->querySingle("SELECT count(*) from qc_logged WHERE Technician!='' AND hasIssue=1 AND Timestamp='$searchDate2'");
$amt3 = $db->querySingle("SELECT count(*) from qc_logged WHERE Packager!='' AND hasIssue=1 AND Timestamp='$searchDate2'");

这3个查询每次都返回正确的行数。这些查询只是一个有效行的计数。

为什么我的单个查询会返回与计数查询不同的行数?

0 个答案:

没有答案