如何将某列值作为查询内容?

QuinsonYue 2007-06-29 11:20:59
如:SELECT xt_zlb.dh, xt_ddb.fwz, test.c
FROM xt_zlb INNER JOIN
xt_ddb ON xt_zlb.ddid = xt_ddb.ddid INNER JOIN
xt_qyb ON xt_ddb.qyid = xt_qyb.qyid CROSS JOIN
test

列test.c储存的内容为xt_ddb.sx, xt_qyb.qym

想得到如下的结果:将test.c储存的内容作为查询内容
SELECT xt_zlb.dh, xt_ddb.fwz, xt_ddb.sx, xt_qyb.qym
FROM xt_zlb INNER JOIN
xt_ddb ON xt_zlb.ddid = xt_ddb.ddid INNER JOIN
xt_qyb ON xt_ddb.qyid = xt_qyb.qyid
...全文
190 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
QuinsonYue 2007-09-08
  • 打赏
  • 举报
回复
当散分吧
QuinsonYue 2007-06-29
  • 打赏
  • 举报
回复
TO yrwx001() :

SELECT xt_zlb.dh, xt_ddb.fwz, test.c
FROM xt_zlb INNER JOIN
xt_ddb ON xt_zlb.ddid = xt_ddb.ddid INNER JOIN
xt_qyb ON xt_ddb.qyid = xt_qyb.qyid CROSS JOIN
test
-------------的结果如下:--------------------------------
dh fwz c
旧体委楼12栋 红旗中服务站 xt_ddb.sx, xt_qyb.qym
大园北2栋 红旗中服务站 xt_qyb.qym
大园南3栋 红旗中服务站 xt_ddb.sx, xt_qyb.qym

每行c的值都不同 如果用你那种方法只能获得第一行的c值
我是想实现相对每一行test.c储存的内容作为查询内容
有更好的实现方法吗???
肥胖的柠檬 2007-06-29
  • 打赏
  • 举报
回复
没看明
yrwx001 2007-06-29
  • 打赏
  • 举报
回复
declare @sql varchar(8000)

SELECT @sql = test.c
FROM xt_zlb INNER JOIN
xt_ddb ON xt_zlb.ddid = xt_ddb.ddid INNER JOIN
xt_qyb ON xt_ddb.qyid = xt_qyb.qyid CROSS JOIN
test
set @sql = 'SELECT xt_zlb.dh, xt_ddb.fwz,'+@sql+'FROM xt_zlb INNER JOIN
xt_ddb ON xt_zlb.ddid = xt_ddb.ddid INNER JOIN
xt_qyb ON xt_ddb.qyid = xt_qyb.qyid'
exec(@sql)
QuinsonYue 2007-06-29
  • 打赏
  • 举报
回复
相同的问题:
http://community.csdn.net/Expert/topic/5628/5628172.xml?temp=.8142816
QuinsonYue 2007-06-29
  • 打赏
  • 举报
回复
谢谢 yrwx001()
还是达不到想要的结果,参数是不定的,不单单xt_ddb.sx, xt_qyb.qym
有没有替换之类的实现方法呢?直接把test.c这列的内容替换成查询内容
yrwx001 2007-06-29
  • 打赏
  • 举报
回复
create function fn (@ddid int,@qyid int)
returns varchar(8000)
as
begin
declare @sql varchar(8000)

SELECT @sql = test.c
FROM xt_zlb INNER JOIN
xt_ddb ON xt_zlb.ddid = xt_ddb.ddid INNER JOIN
xt_qyb ON xt_ddb.qyid = xt_qyb.qyid CROSS JOIN
test where xt_zlb.ddid = @ddid and xt_ddb.qyid = @qyid
return @sql
end
go
declare @sql varchar(8000)

select @sql = 'SELECT xt_zlb.dh, xt_ddb.fwz,'+dbo.fn(xt_zlb.ddid,xt_ddb.qyid)+'FROM xt_zlb INNER JOIN
xt_ddb ON xt_zlb.ddid = xt_ddb.ddid INNER JOIN
xt_qyb ON xt_ddb.qyid = xt_qyb.qyid'
FROM xt_zlb INNER JOIN
xt_ddb ON xt_zlb.ddid = xt_ddb.ddid INNER JOIN
xt_qyb ON xt_ddb.qyid = xt_qyb.qyid
exec(@sql)
QuinsonYue 2007-06-29
  • 打赏
  • 举报
回复
没人光顾?...

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧