您好,我使用JS,PHP和Mysql从事一个项目。我有2张桌子:
invoice (inv_id,date,total,paid,due)
invoice_infos (id, product_name,product_price,inv_id)
invoice_infos包含有关发票的所有产品的信息。
表date
的列invoice
包含发票日期,product_name
的列invoice_details
包含产品名称。
我想做一个查询,使我可以查看定义日期内出售的产品。
答案 0 :(得分:0)
您似乎正在使用字段JOIN
在两个表之间寻找一个简单的inv_id
。您的查询的FROM
子句应如下所示:
FROM invoices iv
INNER JOIN invoice_infos if ON if.inv_id = id.inv_id
从那里开始,假设您要提取invoice_infos
和invoices
中特定销售日期的所有可用信息:
SELECT iv.*, if.*
FROM invoices iv
INNER JOIN invoice_infos if ON if.inv_id = id.inv_id
WHERE iv.date = ?
另一个典型的用例是汇总日期。例如,让我们计算给定日期售出的每种产品的总价:
SELECT if.product_name, SUM(if.product_price) sum_product_price
FROM invoices iv
INNER JOIN invoice_infos if ON if.inv_id = id.inv_id
WHERE iv.date = ?
GROUP BY if.product_name