SQL SELECT复杂查询如何实现?

来源:百度知道 编辑:UC知道 时间:2024/05/20 23:30:02
数据库中有“客户表、货品表、销售主表、销售明细表”
其中“客户表”中只记录有“客户ID、客户名称……”
“货品表”中只记录有“货品ID、货品名称……”
“销售主表”中只记录“销售单号、录入时间、业务员、客户表客户ID……”
“销售明细表”中只记录“销售单号、数量、销售单价、货品表货品ID……”

求:统计在某一时段中,某一业务员的销售记录。根据以下格式输出:“时间、客户名、货品名称、销售数量、销售单价、金额”

SELECT 销售主表.录入时间,客户表.客户名,货品表.货品名称,销售明细表.数量,销售明细表.销售单价,销售明细表.数量*销售明细表.销售单价 AS 金额
FROM 客户表,货品表,销售主表,销售明细表
WHERE ( ~_~ 以下不会写了

肯请高人指点,谢谢!

where 客户表.客户id=销售主表.客户表客户id and 销售主表.销售单号=销售明细表.销售单号 and 货品表.货品id=销售明细表.货品表货品id and 销售主表.业务员='想查询的业务员' and 销售主表.录入时间 between '开始时间' and '结束时间'

SELECT A.录入时间,
B.客户名称,
D.货品名称,
C.数量,
C.销售单价,
C.数量*D.销售单价
FROM 销售主表 A LEFT JOIN 客户表 B
ON A.客户表客户ID = B.客户ID
LEFT JOIN 销售明细表 C
ON A.销售单号 = C.销售单号
LEFT JOIN 货品表 D
ON C.货品表货品ID = D.货品ID
WHERE 1 = 1
AND A.录入时间 BETWEEN '时间' AND '时间'
AND A.业务员 LIKE ''

@startTime:开始时间
@endTime:结束时间

WHERE 销售主表.客户表客户ID = 客户表.客户ID and 销售主表.销售单号 = 销售明细表.销售单号 and 销售明细表.货品表货品ID = 货品表.货品ID
and 销售主表.录入时间 BETWEEN @startTime AND @endTime

输入这二个参数后的查询结果 这才是某一时段的业务

这个语句拼命地用join就行了。
SELECT 销售主表.录入时间,客户表.客户名,货品表.货品名称,销售明细表.数量,销售明细表.销售单价,销售明细表.数量*销售明细表.销售单价 AS 金额
FROM 销售主表 join 客户表 on 销售主表.客户ID=客