繁体   English   中英

不明确的列名'poid'

[英]Ambiguous column name 'poid'

在加入table之前查询很好,但是在加入patientinfo表获取patid后,它显示了Ambiguous列名'poid',有人会帮我这个吗?

SELECT [ProDbArchive].[dbo].[t_structuredNotes].[noteName] 
       ,[ProDbArchive].[dbo].[t_structuredNotes].[poid] 
       ,[ProDbArchive].[dbo].[t_Patientinfo].[patid] 
       ,CAST ([ProDbArchive].[dbo].fn_tstampint([statedNoteTS]+[ProDbArchive].[dbo].fn_offset(poid)) As DATETIME  )As StatedNoteTime
       ,[ProDbArchive].[dbo].[t_structuredNotes].[noteType]
       ,[ProDbArchive].[dbo].[t_structuredNotes].[noteText]

  FROM [ProDbArchive].[dbo].[t_structuredNotes]
 INNER JOIN [ProDbArchive].[dbo].[t_Patientinfo] ON [ProDbArchive].[dbo].[t_structuredNotes].[poid]= [ProDbArchive].[dbo].[t_Patientinfo].[poid]
  where noteType = 'Procedure' 
  and noteName = 'Bedside Tracheostomy'
  and CAST ([ProDbArchive].[dbo].fn_tstampint([statedNoteTS]+[ProDbArchive].[dbo].fn_offset(poid)) As DATETIME  ) > '2017-01-01 00:00:00.000' 
  and CAST ([ProDbArchive].[dbo].fn_tstampint([statedNoteTS]+[ProDbArchive].[dbo].fn_offset(poid)) As DATETIME  ) < '2017-08-01 00:00:00.000' 
order by statedNoteTS asc

你的t_structuredNotest_Patientinfo表都有一个poid列,所以当你尝试在没有表名的情况下引用它时(例如,在fn_offset(poid) ),你得到一个关于列不明确的错误,因为数据库不知道你是哪一个意思。

由于它们的值无论如何都应该相等(根据您的连接条件),只需选择一个并以完全合格的方式指定它。 例如:

fn_offset([ProDbArchive].[dbo].[t_structuredNotes].[poid])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM