我是否可以知道我是否可以组合来自不同变量的查询,或者是否有其他方式。我想将$query_1
插入$query_2
示例:
$sql = "SELECT l_id from mlk";
$result = mysqli_query($conn, $sql);
$count = mysqli_num_rows($result);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
$l_id[] = $row["l_id"];
}
}
mysqli_free_result($result);
foreach($l_id as $row){
$query_1= "(select count(*) from staff s where s.l_id = $row) as mlk_$row,";
}
$query_2= "SELECT mlk.lokasi,
//insert $query_1 here
from mlk INNER JOIN staff WHERE staff.l_id=mlk.l_id GROUP BY mlk.lokasi";
$result = mysqli_query($conn, $sql);
mlk
是一个存储员工工作地点的表格$query_2
将显示位置名称,我还想显示该特定位置的员工总数。例如,Kuala Lumpur, 10
答案 0 :(得分:2)
只需在第二个查询中包含计数:
SELECT mlk.lokasi, count(*) as no_of_staff
from mlk
INNER JOIN staff on staff.l_id=mlk.l_id
GROUP BY mlk.lokasi
我还通过将连接条件从where
子句移动到on
子句,将隐式连接更改为显式连接。
答案 1 :(得分:0)
使用左连接显示所有位置,然后显示每个位置的工作人员数。
SELECT mlk.lokasi,count(*)as no_of_staff 来自mlk LEFT JOIN staff on staff.l_id = mlk.l_id GROUP BY mlk.lokasi由mlk.lokasi ASC命令