当子查询没有引入时,只有一个表达式可以在选择列表中指定...........如何解决这个问题 [英] Only one expression can be specified in the select list when the subquery is not introduced with exists...........how solve this problem

查看:57
本文介绍了当子查询没有引入时,只有一个表达式可以在选择列表中指定...........如何解决这个问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用子查询后出现问题。



我尝试了什么:



选择[dbo_pibm]。[tbl_Vehicle] .Id,[dbo_pibm]。[tbl_Vehicle]。[Vehicle_Type],[dbo_pibm]。[tbl_Vehicle] .Vehicle_No,

[dbo_pibm]。[tbl_User] .User_firstname +''+ [dbo_pibm]。[tbl_User] .User_surname作为驱动程序,

[dbo_pibm]。[tbl_Vehicle_Journey] .Start_Place +'To'+ [dbo_pibm] 。[tbl_Vehicle_Journey] .End_Place作为旅程,

CONVERT(VARCHAR(8),Start_Time,108)作为Start_Time,

CONVERT(VARCHAR(8),End_Time,108)作为End_Time,CONVERT(VARCHAR(108),

Journey_Date,103)作为Journey_Date,

[dbo_pibm]。[tbl_Vehicle_Journey] .Id as TravelId

$ b
来自[dbo_pibm]的
。[tbl_Vehicle]

左外连接[dbo_pibm]。[tbl_Vehicle_Journey]
$ b [dbo_pibm]上的$ b。[tbl_Vehicle] .Id = [dbo_pibm]。[tbl_Vehicle_Journey] .Vehicle_Id

左外连接[dbo_pibm]。[tbl_User]

on [ dbo_p ibm]。[tbl_User] .User_id = [dbo_pibm]。[tbl_Vehicle_Journey] .Driver

其中[dbo_pibm]。[tbl_Vehicle]。[Id] =(选择前1名Vehicle_Id,MAX(Id)来自[dbo_pibm]。[tbl_Vehicle_Journey]

group by Vehicle_Id HAVING MAX(Id)> 0 order by Vehicle_Id desc)

problem occure after using subquery.

What I have tried:

select [dbo_pibm].[tbl_Vehicle].Id,[dbo_pibm].[tbl_Vehicle].[Vehicle_Type],[dbo_pibm].[tbl_Vehicle].Vehicle_No,
[dbo_pibm].[tbl_User].User_firstname+' '+[dbo_pibm].[tbl_User].User_surname as driver,
[dbo_pibm].[tbl_Vehicle_Journey].Start_Place + ' To ' +[dbo_pibm].[tbl_Vehicle_Journey].End_Place as Journey,
CONVERT(VARCHAR(8),Start_Time,108) as Start_Time,
CONVERT(VARCHAR(8),End_Time,108)as End_Time,CONVERT(VARCHAR(108),
Journey_Date,103) as Journey_Date,
[dbo_pibm].[tbl_Vehicle_Journey].Id as TravelId


from [dbo_pibm].[tbl_Vehicle]
left outer join [dbo_pibm].[tbl_Vehicle_Journey]
on [dbo_pibm].[tbl_Vehicle].Id=[dbo_pibm].[tbl_Vehicle_Journey].Vehicle_Id
left outer join [dbo_pibm].[tbl_User]
on [dbo_pibm].[tbl_User].User_id=[dbo_pibm].[tbl_Vehicle_Journey].Driver
where [dbo_pibm].[tbl_Vehicle].[Id]=(select top 1 Vehicle_Id,MAX(Id) from [dbo_pibm].[tbl_Vehicle_Journey]
group by Vehicle_Id HAVING MAX(Id)>0 order by Vehicle_Id desc)

推荐答案

你可以不要在子查询中使用两列:



You can not use two columns in your sub query:

select [dbo_pibm].[tbl_Vehicle].Id,[dbo_pibm].[tbl_Vehicle].[Vehicle_Type],[dbo_pibm].[tbl_Vehicle].Vehicle_No,
[dbo_pibm].[tbl_User].User_firstname+' '+[dbo_pibm].[tbl_User].User_surname as driver,
[dbo_pibm].[tbl_Vehicle_Journey].Start_Place + ' To ' +[dbo_pibm].[tbl_Vehicle_Journey].End_Place as Journey,
CONVERT(VARCHAR(8),Start_Time,108) as Start_Time,
CONVERT(VARCHAR(8),End_Time,108)as End_Time,CONVERT(VARCHAR(108),
Journey_Date,103) as Journey_Date,
[dbo_pibm].[tbl_Vehicle_Journey].Id as TravelId


from [dbo_pibm].[tbl_Vehicle]
left outer join [dbo_pibm].[tbl_Vehicle_Journey] 
on [dbo_pibm].[tbl_Vehicle].Id=[dbo_pibm].[tbl_Vehicle_Journey].Vehicle_Id
left outer join [dbo_pibm].[tbl_User]
on [dbo_pibm].[tbl_User].User_id=[dbo_pibm].[tbl_Vehicle_Journey].Driver
where [dbo_pibm].[tbl_Vehicle].[Id]=(select top 1 Vehicle_Id,MAX(Id) from [dbo_pibm].[tbl_Vehicle_Journey] 
group by Vehicle_Id HAVING MAX(Id)>0 order by Vehicle_Id desc)


这篇关于当子查询没有引入时,只有一个表达式可以在选择列表中指定...........如何解决这个问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆