我有一个 SQL 查询
$var = 123;
$sql="SELECT COL1, COL2, COL3 FROM `table1` WHERE `COL1`='$var'";
此查询(循环)的结果用于从另一个表中获取每行的计数。
$value = $row['COL2'];
$var2= mysql_num_rows(mysql_query("SELECT MY_COL FROM `table2` WHERE `column1` ='".$var1."' AND column2 = $value"));
我试过将两者结合起来
$sql = "SELECT A.COL1, A.COL2, A.COL3, COUNT(B.MY_COL) FROM `table1` A LEFT JOIN `table2` B ON A.COL2 = B.column2 WHERE A.COL1=$var"
但是结果是错误的。使用 ON A.COL2 = B.column2 是否正确? 如何将这两个查询合并为一个以减少对 mysql 的调用?
Table1 的记录可能不在 Table2 中。
最佳答案
试试这个:
$sql = "SELECT A.COL1, A.COL2, A.COL3, COUNT(B.MY_COL) FROM `table1` A LEFT JOIN `table2` B ON A.COL2 = B.column2 AND A.COL1=$var"
关于php - 将循环的 mysql 查询转换为单个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27618555/