从多个表中选择并显示到表中

Posted

技术标签:

【中文标题】从多个表中选择并显示到表中【英文标题】:SELECT from multiple tables and display into table 【发布时间】:2013-02-24 08:15:14 【问题描述】:

我是新手。

这是我原来的问题, 我有两张表,分别名为 orderorder_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 JOINgroup 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 表格中。

【讨论】:

以上是关于从多个表中选择并显示到表中的主要内容,如果未能解决你的问题,请参考以下文章

MySQL - 从多个表中选择并显示多个字段

读取在 DataGridView 表中选择的记录,并将该记录的信息读取到表中未显示的字段中

使用函数调用从选择中插入到表的 Oracle 中的性能

如何从多个表中选择列并在 yii 框架中显示

使用复选框从 MySQL 中的多个表中选择数据,并根据复选框显示表字段

从其他表中选择表单中的选项