Sql server SQL查询内部联接错误
我正在处理一个SQL查询。这个查询显示了这个错误 味精116,第16级,状态1,第2行Sql server SQL查询内部联接错误,sql-server,inner-join,Sql Server,Inner Join,我正在处理一个SQL查询。这个查询显示了这个错误 味精116,第16级,状态1,第2行 当子查询未引入EXISTS时,只能在选择列表中指定一个表达式 这就是问题所在 select *, (select top 1 * from tbl_Renewal where supid = b.S_id and Payed = 1 order by renewalid desc) as result from tbl_Sup
当子查询未引入EXISTS时,只能在选择列表中指定一个表达式 这就是问题所在
select
*,
(select top 1 *
from tbl_Renewal
where supid = b.S_id
and Payed = 1
order by
renewalid desc) as result
from
tbl_SuperAdmin as b
inner join
tbl_Renewal as c on b.S_id = c.supid
请检查并给我答案
此实际任务的任何其他解决方案
请查看下面的任务摘要详细信息
表1已存档的“tbl\U超级管理员”
数据类示例
s_id name age gtc.......
1 abc 23 .........
2 cda 42 ..........
另一个表2具有“tbl\U更新”
renewalid renname date supid Payed etc......
1 first - 1 1 ........
2 first - 2 1 ........
3 second - 1 0 ........
4 second - 1 1 ........
5 third- 1 1 ........
谢谢
pradeep您不能在单列值中放入* 查询应该是这样的
select
*,
(select top 1 COLUMNNAME from tbl_Renewal where supid=b.S_id and Payed=1) as result
from tbl_SuperAdmin as b inner join tbl_Renewal as c on b.S_id=c.supid
把它缩短到sql以下
select top 1 a.*,b.*
from tbl_Renewal a inner join tbl_SuperAdmin as b
on b.S_id=c.supid where a.Payed=1 order by b.renewalid desc
保留此选项,从tbl_续订中选择前1列名称,其中supid=b.S_id,Payed=1,如果将列名称放入重复项,则给出以下解决方案