标题:大家帮我看下这个SQl语句怎么写?
取消只看楼主
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
结帖率:87.5%
 问题点数:0 回复次数:8 
大家帮我看下这个SQl语句怎么写?
DECLARE @A TABLE(员工ID INT,姓名 char(16), 部门 varchar(50), 薪水 decimal(10,2))
INSERT INTO @A
SELECT 1,'小张','网络部',2500 UNION ALL
SELECT 2,'小李','市场部',3000 UNION ALL
SELECT 3,'小王','网络部',3000 UNION ALL
SELECT 4,'小周','市场部',2500 UNION ALL
SELECT 5,'新文秘','临时工',1000

declare @B table(员工ID int,地址 nvarchar(50),电话 char(13))

insert into @B
select 1,'小张的地址1','小张的电话1' union all
select 1,'小张的地址2','小张的电话2' union all
select 3,'小王的地址1','小王的电话1' union all
select 3,'小王的地址2','小王的电话2' union all
select 6,'前文秘的地址','前文秘的电话'


select A.员工ID,A.姓名+B.地址 from @A A inner join @B B on A.员工ID=B.员工ID

怎么查来这个:

1   小张 小张地址1,小张地址2
3   小王 小王地址1,小王地址2
……


请大家帮帮忙,万分感谢!!!我查不出来
搜索更多相关主题的帖子: 网络 SQl 语句 薪水 UNION 
2008-07-02 22:05
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
得分:0 
怎么没人理我?创建表,插入数据,我都用SQL语句列出来了。我只是想查出
1   小张 小张地址1,小张地址2
3   小王 小王地址1,小王地址2
……
这个结果,难道SQL语句实现不了吗?请高手指点下吧,我写好长时间了,都没写出来!
2008-07-05 14:20
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
得分:0 
生成不出来吧?我试过了,最多它把所有的记录都读出来了,但是出来的不是:
1   小张 小张地址1,小张地址2
3   小王 小王地址1,小王地址2
……
而是:
1   小张 小张地址1
1   小张 小张地址2
3   小王 小王地址1
3   小王 小王地址2
……
2008-07-08 09:19
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
得分:0 
呵呵,我太笨,不会聚合啊。你帮我聚下吧。先谢了。上面就是完整的表带数据。
2008-07-08 11:44
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
得分:0 
已经发上来了啊!

select A.员工ID,A.姓名+B.地址 from @A A inner join @B B on A.员工ID=B.员工ID
这句就是啊! 你把上面那代码一运行,就知道了。麻烦你了。帮我看看吧。
2008-07-08 17:22
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
得分:0 
很感谢你回复我的贴子,帮我解决问题,可是你试了吗?你试试就知道了,出来的结果不是:
1   小张 小张地址1,小张地址2
3   小王 小王地址1,小王地址2
……

group by ,order by  我都试过,根本就不行啊!!
2008-07-09 10:33
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
得分:0 
DECLARE @A TABLE(员工ID INT,姓名 char(16), 部门 varchar(50), 薪水 decimal(10,2))
INSERT INTO @A
SELECT 1,'小张','网络部',2500 UNION ALL
SELECT 2,'小李','市场部',3000 UNION ALL
SELECT 3,'小王','网络部',3000 UNION ALL
SELECT 4,'小周','市场部',2500 UNION ALL
SELECT 5,'新文秘','临时工',1000

declare @B table(员工ID int,地址 nvarchar(50),电话 char(13))

insert into @B
select 1,'小张的地址1','小张的电话1' union all
select 1,'小张的地址2','小张的电话2' union all
select 3,'小王的地址1','小王的电话1' union all
select 3,'小王的地址2','小王的电话2' union all
select 6,'前文秘的地址','前文秘的电话'

select A.员工ID,A.姓名+B.地址 from @A A inner join @B B on A.员工ID=B.员工ID  group by A.员工ID,A.姓名+B.地址

你把这些代码全放在查询分析器里运行一下,你就知道了。这样真得不行。
2008-07-09 10:35
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
得分:0 
原来SQL真得不能完成啊!其实我的是三个表(为了好写点,我发贴子时改成了两个表,我想也许这样会好实现点,没想到还是实现不了?)

我要显示UserInfo在一个GridView里,其中有一列要求显示每个用户所有的角色。我没办法,用了最笨的方法,先绑定了两个表,最后又遍历了Gridview所有行,又绑定了第三个表才实现了我要的效果。但是我觉得遍历了Gridview所有行这次效率太低了吧,就没有别的办法了吗?
2008-07-10 09:23
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
得分:0 
谢谢楼上的朋友。不太明白具体用临时表怎么做?能细说下吗?先谢谢了!

SQL这么强大,我想它可以查出来吧。也许也要游标吧?呵呵,游标我用得不好。不过,不论用什么只要是用SQL实现的就行。请各位高手帮帮我。
2008-07-14 09:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-222336-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.099198 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved