我有以下MSSQL查询:
select
innerqueryresult.intDoorID as DoorID,
innerqueryresult.vchrDoorName as DoorName,
innerqueryresult.vchrAddress as Address,
innerqueryresult.vchrDoor as Door,
innerqueryresult.dtmStartDate as StartDate
from
(
Select Distinct *
FROM ADoor dr
left join APositionAssign pos
on pos.intOrgLevelID = dr.intOrgLevelID
left join APositions p
on p.intPositionID = pos.intPositionID
left join APositionAssign posAssign
on posAssign.vchrDoor = dr.vchrDoor or posAssign.intOrgLevelID = dr.intOrgLevelID
Where dr.vchrDoor = '0000140'
) innerqueryresult
执行上述查询时,它返回:
消息8156,级别16,状态1,第1行第vcvcDoor列为 为“ innerqueryresult”指定了多次。
尽管内部查询是通过程序动态生成的,但是我无法从查询中获取正确的别名。有什么方法可以在不了解别名的情况下运行查询。 谁能给我建议解决方案。
答案 0 :(得分:-1)
其他人发表评论(不知道为什么):请勿使用SELECT *
这总是一件微妙的事情,因为如果添加任何列,您的应用程序可能会损坏。