运行连接后出错

时间:2015-07-28 19:03:43

标签: sql powershell

我在尝试运行sql语句时随时都会收到此错误。可能有什么不对?

  

不明确的列名称' trafficCrashReportId'。

3 个答案:

答案 0 :(得分:3)

两个表格中都存在trafficCrashReportIdInvolvedVehicleTrafficCrashReport

您需要指定应选择哪一个...此示例说明如何从trafficCrashReportId表格中选择InvolvedVehicle

Invoke-Sqlcmd -Query "select [trafficCrashReportId],
       InvolvedVehicle.involvedVehicleId,
      ,[assocVehNum]
      ,[wasStrikingVehicle]
from InvolvedVehicle INNER JOIN TrafficCrashReport ON InvolvedVehicle.trafficCrashReportId = TrafficCrashReport.trafficCrashReportId ...

答案 1 :(得分:2)

问题是该列位于两个表中,并且数据库不知道选择哪个。最好的解决方案是使用表别名并始终限定列名:

select iv.[trafficCrashReportId], iv.[involvedVehicleId],
       tcr.[assocVehNum], tcr[wasStrikingVehicle]
from InvolvedVehicle iv INNER JOIN
     TrafficCrashReport tcr
     ON iv.trafficCrashReportId = tcr.trafficCrashReportId
Where tcr.addDate between '$Yesterday' AND '$TodayDate';" `

我猜哪些列来自哪些表。

答案 2 :(得分:0)

在你的select语句中,你应该具体说明你想要哪个trafficCrashReportID,来自InvolvedVehicle的那个或来自TrafficCrashReport的那个。

选择InvolvedVehicle.trafficCrashReportId