从多个表中选择并显示到表中
Posted
技术标签:
【中文标题】从多个表中选择并显示到表中【英文标题】:SELECT from multiple tables and display into table 【发布时间】:2013-02-24 08:15:14 【问题描述】:我是新手。
这是我原来的问题,
我有两张表,分别名为 order
和 order_items
order_id--pupil_id --date_bought--total_price
1 ----1001---- 2013-03-07 23:35:49 - 1.00
和
order_id-- product_name
1 ------ product1
1 ------ product2
我想显示购买日期和总价。这将是某种加入声明,其中包含使用最新 order_id 购买的产品,这将由学生 id 选择,可能在语句中按 desc 排序。
我不确定如何将它拼凑起来。关于如何实现这一目标的任何想法或线索?
史蒂夫·钱伯斯创造我的那一刻,我得到了这个:
$query = mysql_query("SELECT *
FROM `order` o
JOIN `order_items` oi
ON o.order_id = oi.order_id
ORDER BY o.order_id DESC");
$query_assoc = mysql_fetch_array($query);
echo $query_assoc['product_name'];
echo $query_assoc['date_bought'];
echo $query_assoc['total_price'];
这是一个测试,看看它是否有效,它确实显示了与学生 ID 关联的最后一个订单 ID 行,但我如何检索所有行并将它们放入表中?
【问题讨论】:
试试INNER JOIN
和group by order_id
【参考方案1】:
您实际上在这里问了两个问题:
-
我想显示购买日期和总价 ....
如何检索所有行并将它们放入表中
要获得总价,您可以通过将表连接在一起从数据库中完成,您已经这样做了,但是要获得总价格以得出总价,您需要将项目组合在一起。您需要这样的查询:
SELECT o.order_id, o.pupil_id, o.date_bought, SUM(o.total_price) AS total_price FROM order o
LEFT JOIN order_items oi
ON oi.order_id = o.order_id
GROUP BY o.order_id
如果您想将结果列表放在一个表格中,您需要遍历您拥有的结果集并将其写在 html 表格中。
【讨论】:
以上是关于从多个表中选择并显示到表中的主要内容,如果未能解决你的问题,请参考以下文章
读取在 DataGridView 表中选择的记录,并将该记录的信息读取到表中未显示的字段中