脑袋破了,都没有想出来
各位大侠:
我有2个表,一个是销售表,一个是客户表,我现在希望把两个表连接起来:
人员 产品 客户 日期
张三 肥皂 三友 20050910
张三 牙刷 三友 20050911
张三 肥皂 翡翠 20050101
李四 牙刷 东西单 20050309
另外一个
客户 客户级别
三友 A
东西单 B
如果两个表做连接,就把客户“翡翠”给丢了。我现在希望把客户“翡翠”跟着“三友走”的级别走,即
人员 产品 客户 日期 客户级别
张三 肥皂 三友 20050910 A
张三 牙刷 三友 20050911 A
张三 肥皂 翡翠 20050101 A
李四 牙刷 东西单 20050309 B
可是我不知道,如果不用临时表,而就做视图或者连接,怎么可能产生这样的结果,因为这个表以后还要做汇总和统计,所以不希望做到临时表中,请各位指点。
问题点数:20、回复次数:6Top
1 楼lsqkeke(可可)回复于 2005-12-20 17:20:39 得分 0
你为什么不在这个表中加条记录呢?
客户 客户级别
三友 A
东西单 B
翡翠 A
Top
2 楼Jpp(不懂装懂)回复于 2005-12-20 17:39:35 得分 0
“翡翠”跟着“三友走”之间有什么联系?你总不能信口随便指定吧!
把规则想清楚。Top
3 楼epsonhan()回复于 2005-12-20 17:44:35 得分 0
TO: lsqkeke(可可)
我也想在表中增加对应关系呢,其实,是因为这个翡翠的级别是随着销售额分析出来的,所以加这个关系没有用,即在每次做报表的时候,随机指定一个原则,原表要比这个复杂,但是就是把翡翠随机制定跟着某个客户的级别走。Top
4 楼lw1a2(一刀 现在改六点下班了:()回复于 2005-12-20 19:07:45 得分 10
create table #tab1 (ry varchar(8) null,cp varchar(20) null,kh varchar(20) null,rq char(8) null)
insert into #tab1 values('张三','肥皂', '三友', '20050910')
insert into #tab1 values('张三','牙刷', '三友', '20050911')
insert into #tab1 values('张三','肥皂', '翡翠', '20050101')
insert into #tab1 values('李四','牙刷', '东西单', '20050309')
create table #tab2 (kh varchar(20) null,khjb varchar(1) null)
insert into #tab2 values('三友', 'A')
insert into #tab2 values('东西单', 'B')
select ry,cp,a.kh,rq,
(case a.kh when '翡翠' then 'A' else khjb end) as khjb
from #tab1 a,#tab2 b where a.kh*=b.khTop
5 楼hpym365(君子爱财,取之有道.)回复于 2005-12-20 20:24:00 得分 0
select x.* ,k.客户级别
from 销售表 x
left join 客户表 k
on x.客户=k.客户
---result-----
张三 肥皂 三友 2005-09-10 00:00:00.000 A
张三 牙刷 三友 2005-09-11 00:00:00.000 A
张三 肥皂 翡翠 2005-01-01 00:00:00.000 NULL
李四 牙刷 东西单 2005-03-09 00:00:00.000 B
--估计这就是你想要的结果吧?
如果不是可以使用isnull函数替换一下null直为A
分不重要好使告诉我下哈Top
6 楼hpym365(君子爱财,取之有道.)回复于 2005-12-20 20:28:19 得分 10
select x.* ,
isnull(k.客户级别,'A')as 客户级别
from 销售表 x
left join 客户表 k
on x.客户=k.客户Top




