当子查询没有引入时,只有一个表达式可以在选择列表中指定...........如何解决这个问题 [英] Only one expression can be specified in the select list when the subquery is not introduced with exists...........how solve this problem
问题描述
使用子查询后出现问题。
我尝试了什么:
选择[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屋!