一个觉的有点晕的sql查询,谁来帮我一下

来源:百度知道 编辑:UC知道 时间:2024/05/16 10:34:09
现在有三张表:
分销商表:分销商代码,分销商名称
客户表:客户代码,客户名称,分销商代码
销售表:客户代码,分销商代码,产品名称,销售日期

每个分销商有多个客户,销售表对应每个客户销售信息,条件如下:
条件一:只有一次查询
条件二:销售日期在2009-1-1和2009-2-2之间
条件三:分销商代码>6
查询结果要求如下:
客户代码,分销商代码,产品名称,销售日期

请大侠救我~~~急!!!!!
上面的别看了看下面的**************************************************************:

现在有四张表:
产品表:产品名称
电视
电脑...
分销商表:分销商代码,分销商名称
客户表:客户代码,客户名称,分销商代码
销售表:客户代码,分销商代码,产品名称,销售日期,销售金额

每个分销商有多个客户,销售表对应每个客户销售信息,条件如下:
条件一:只有一次查询
条件二:销售日期在2009-1-1和2009-2-2之间
条件三:分销商名称 =‘T’
查询结果要求如下:
| | 电视 | 电脑 |...(电视,电脑产品下显示各自的销售日期,销售金额)
客户代码 |分销商代码 |日期|金额|日期|金额|...

字段类型代码是int,日期是dateTime,其它都是varchar

有的sqlserver数据库

你是不是说错了题目,你的要求只是在最后一个表(销售表)中筛选,没有任何难度呀:

SELECT 客户代码,分销商代码,产品名称,销售日期 FROM 销售表 WHERE 销售日期 BETWEEN '2009-1-1' AND '2009-2-2' AND 分销商代码>6

上面日期常量2009-1-1在各类数据库里面不一样,MYSQL、INFORMIX等能识别我给出的'表示,有的数据库好像要使用#,这个假释你知道怎么处理。

字段类型请说明

把这几个表说全了 详细点 问题不难解决

不难 但是看起来很抽象 你吧数据库给你 很快就给你弄出来了

product:产品表
product_id
product_nm

supply:分销商表
supply_id
supply_nm

customer:客户表
customer_id
customer_nm
supply_id

sale:销售表
customer_id
supply_id
product_id
sale_date
sale_money

1、
select sale.customer_id, sale.supply_id, sale.product_id, sale.sale_date, sale.sale_money
from sale, product, supply, customer
where sale.customer_id = customer.customer_id
and sale.supply_id = supply.supply_id
and sale.product_id = product.product_id

2、
select sale.customer_id, sale.supply_id, sale.product_id