一.前言
在查询多个表的数据库的时候,因为数据繁多,加上得进行多表关联,可能会运用到As(别名)、Join(连接)。正好最近笔者有做类似的需求,大家可以来参考一下解决思路。
二.使用
交易表有:
商品id-product_id、交易时间-trading_date、交易数量-num、价格-
price、购买会员id-purchaser_id、交易类型-inv_type
会员表有:
会员id-id、会员名称-name
商品表有:
商品id-id、商品名称-name
查询语句:
SELECT
purchaser.name as '购买者',
product.name as '商品名称',
t.trading_date as '交易日',
t.price as '价格',
t.num as '数量',
t.cost as '金额',
CASE
WHEN t.inv_type = 1 THEN '现金支付'
WHEN t.inv_type = 2 THEN '银联支付'
ELSE '未知'
END AS '交易类型'
FROM
product_transactions AS t
JOIN
basicdata_product AS product ON t.product_id = product.id
JOIN
basicdata_purchaser AS purchaser ON t.purchaser_id = purchaser.id
WHERE
t.product_id IN (1,2,3) AND t.inv_type IN (1)
ORDER BY
purchaser.name, t.trading_date
这就是查询哪些客户在什么时候买了id为1,2,3的商品的对应购买记录例子
三.总结
巧用多表关联,写好MySQL对我们查询数据库能起到非常大的作用。

450

被折叠的 条评论
为什么被折叠?



