主题:请问这个SQL应该怎么写
			 小新0574
				 [专家分:0]  发布于 2006-04-09 14:43:00
 小新0574
				 [专家分:0]  发布于 2006-04-09 14:43:00							
			有这么两个表
cust_tbl
cust_id    title    e_first_name    e_last_name    address1    .
0    MR    Martin    Ma    .    
1    MR    Kirs    Cheung    .    
2    MR    Ricky    Chan    .    
3    MR    Tom    Kwan    .    
4    MR    Corporate Default    Corporate Default    .    
5    MRS    Mary     Mok    .    
.    .    .    .    .    
acc_grp_cust_tbl
acc_group    Cust_id1    Cust_id2    Cust_id3    Cust_id4
1400    0    1    2    
1500    3    4        
1600    5            
.    .    .    .    .
.    .    .    .    .
如何根据上面两个表使用SQL显示出这样一个表
ACC_GROUP    PAYEENAMES
1400    Ma Martin/Cheung Kris/Chan Ricky
1500    Kwan Tom/Corporate Default Corporate Default
1600    Mok Mary
.    .
.    .
						
					 
		
			
回复列表 (共24个回复)
		
								
				沙发
				
					 a97191 [专家分:4040]  发布于 2006-04-10 10:26:00
a97191 [专家分:4040]  发布于 2006-04-10 10:26:00				
				看不出有什么联系
							 
						
				板凳
				
					 冰封星云 [专家分:2260]  发布于 2006-04-10 10:35:00
冰封星云 [专家分:2260]  发布于 2006-04-10 10:35:00				
				?????????????你是什么题啊?? 可以说清楚点啊
							 
						
				3 楼
				
					 xhyldqsyd [专家分:0]  发布于 2006-04-10 11:44:00
xhyldqsyd [专家分:0]  发布于 2006-04-10 11:44:00				
				你是不是把题目搞错了
							 
						
				4 楼
				
					 小新0574 [专家分:0]  发布于 2006-04-10 15:58:00
小新0574 [专家分:0]  发布于 2006-04-10 15:58:00				
				几个表格有点没对齐,就是根据第二个表的 Cust_id1    Cust_id2    Cust_id3    Cust_id4值找出第一个表中匹配的cust_id的行,然后把这个行的姓和名组合起来
							 
						
				5 楼
				
					 爱喝咖啡 [专家分:20]  发布于 2006-04-11 11:48:00
爱喝咖啡 [专家分:20]  发布于 2006-04-11 11:48:00				
				DECODE 是oracle的特有函数,别的数据库自己改成case when
select acc_group,MAX(decode(id,'1',name))||MAX(decode(id,'2','/'||name))||MAX(decode(id,'3','/'||name))||MAX(decode(id,'4','/'||name))
FROM (
select '1' id,acc_group,Cust_id1 Cust_id,e_last_name||' '||e_first_name name
 from acc_grp_cust_tbl a,cust_tbl b where a.cust_id1 = b.cust_id
union all    
select '2' id,acc_group,Cust_id2,e_last_name||' '||e_first_name name
 from acc_grp_cust_tbl a,cust_tbl b where a.cust_id2 = b.cust_id
union all  
select '3' id,acc_group,Cust_id3,e_last_name||' '||e_first_name name
 from acc_grp_cust_tbl a,cust_tbl b where a.cust_id3 = b.cust_id
union all  
select '4' id,acc_group,Cust_id4,e_last_name||' '||e_first_name name
 from acc_grp_cust_tbl a,cust_tbl b where a.cust_id4 = b.cust_id) a
 GROUP BY acc_group
							 
						
				6 楼
				
					 wbyoulove [专家分:4830]  发布于 2006-04-12 00:00:00
wbyoulove [专家分:4830]  发布于 2006-04-12 00:00:00				
				查的出就怪了`!!
							 
						
				7 楼
				
					 爱喝咖啡 [专家分:20]  发布于 2006-04-12 16:29:00
爱喝咖啡 [专家分:20]  发布于 2006-04-12 16:29:00				
				[quote]查的出就怪了`!![/quote]
查不出才怪了
							 
						
				8 楼
				
					 kdm0514 [专家分:5210]  发布于 2006-04-22 23:55:00
kdm0514 [专家分:5210]  发布于 2006-04-22 23:55:00				
				结论:两张表无关联 你表建的有问题
							 
						
				9 楼
				
					 爱喝咖啡 [专家分:20]  发布于 2006-05-08 10:44:00
爱喝咖啡 [专家分:20]  发布于 2006-05-08 10:44:00				
				[quote]结论:两张表无关联 你表建的有问题[/quote]
结论,这个论坛有业内人士么?都是学生?一张横表,一个纵表都不会关联,菜就一个字
							 
						
				10 楼
				
					 kdm0514 [专家分:5210]  发布于 2006-05-09 23:44:00
kdm0514 [专家分:5210]  发布于 2006-05-09 23:44:00				
				[quote][quote]结论:两张表无关联 你表建的有问题[/quote]
结论,这个论坛有业内人士么?都是学生?一张横表,一个纵表都不会关联,菜就一个字[/quote]
工作时间不会比你短多少 看你讲话就知道没有什么水平,也没有什么素质.
我做的修改在下页.
							 
									
			
我来回复