我尝试过这个: 这段代码:
$sql="SELECT DISTINCT t_no,cust_name
FROM menu_order
WHERE b_id IN (
SELECT b_id,m_name
FROM menu_order
GROUP BY b_id
HAVING COUNT(*) > 1
)";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
echo $row['t_no'];
echo $row['cust_name'];
while ($row = mysql_fetch_assoc($result, MYSQL_ASSOC)) {
$name = $row['m_name'];
$n = explode(',', $name);
foreach ($n as $d) {
if ($d !== '') { // because before first comma or after last can be empty
echo $d.",".PHP_EOL;
}
}
}
请问谁能告诉我如何在php中使用t_no(table number)
来获取数据。
这里,b_id(booking_id) 是外键
。
预期输出:
1 |T03 | 2017-08-07 | Dal Fry,Sahi Paneer,Aloo Paratha | 2,1,1
Here is the database:
最佳答案
您可以将GROUP BY
与GROUP_CONCAT
一起使用,例如:
SELECT b_id, t_no, date, GROUP_CONCAT(m_name), GROUP_CONCAT(quantity)
FROM table
GROUP BY b_id, t_no, date;
Here's MySQL 的 GROUP_CONCAT()
函数文档。
关于php - 获取两列中具有相同值的行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45564281/