试试看,能写个SQL来实现这个查询吗?

iceandfire 北京清明上河电子商务有限公司 CTO\\创始合伙人  2003-05-13 11:16:11
现有如下两张表:
第一张表(仅一个字段)
column_name

第二张表:
column1 column2 column3

查询第一张表显示结果为:
column_name
------------
column1
column2
column3

查询第二张表结果为
column1 column2 column3
----------------------------------------
value1 value2 value3

现如今想得到如下结果:
column_name column_value
-----------------------------
column1 value1
column2 value2
column3 value3

SQL语句该如何去写?


...全文
66 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
iceandfire 2003-05-16
http://expert.csdn.net/Expert/topic/1793/1793651.xml?temp=.3244135
回复
liukanghui 2003-05-13
表没计设好吧,有时间,重建表
回复
nboys 2003-05-13
select column_name,case column_name when 'column1' then sum(column1)
when 'column2' then sum(column2)
when 'column3' then sum(column3)
end as value from table1 join table2 group by column_name
回复
zhu8888 2003-05-13
首先聲明,你的數據建法是錯誤,兩個數據庫關聯,必須要有關聯字段。
你在第一個表中加入字段id
在第二個表中也加入字段id
用id進行關聯
select 顯示字段 from 表一 left join 表二 on 表一.id=表二.id
---------------------------------------------------------------
OK了,快給分,因為老人家窮啦,沒辦法。
回复
Rewiah 2003-05-13
declare @sql varchar(8000)
set @sql='select a.column_name,case a.column_name'
select @sql=@sql+' when '''+column_name+''' then sum(b.'+column_name+')' from table1
set @sql=@sql+' end as value from table1 a,table2 b group by a.column_name'

exec(@sql)
回复
joygxd 2003-05-13
现如今想得到如下结果:
column_name column_value
-----------------------------
column1 value1
column2 value2
column3 value3

这样有何意思?
回复
wang7655 2003-05-13
表的结构我认为有点问题,如果结构好。很好查询的!
回复
y_zhi_yong 2003-05-13
如果单独的为了解决这几条数据是能够实现的.问题是,当两个表的记录发生改变后,就会出问题了.

学习可以.如果是为了解决实际问题,建议重新设计表.
回复
rdsdh 2003-05-13
select column_name,
colum_value = case column_name
when 'column1' then column1
when 'column2' then column2
when 'column3' then column3
end
From table1 cross join table2
order by column_name
这里限制于:table1.colum_name所表示的值在table2中有对应的字段相匹配。
如果这里table1的记录数不定,问题就扩展了。
回复
xirumin 2003-05-13
up
回复
caiyunxia 2003-05-13
up
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2003-05-13 11:16
社区公告
暂无公告