【问题标题】:Creating a new table from existing tables从现有表创建新表
【发布时间】:2021-10-03 19:16:24
【问题描述】:

我正在尝试创建一个新表,将多个表中的列合并为一个表 - 很简单。我写了这个查询,当我去检索一些数据时,表中除了列名之外什么都没有。我错过了一步吗?

Select E.PCR_ID as PreHospital_Report
    , E.eTimes_03 as DateofCall
    , R.eResponse_03 as IncidentID
    , R.eResponse_05 as TypeofService
    , GMR.dAgency_02 as GMR_AGENCY_NAME
    , S.eSituation_11 as Primary_Impression
    , S.eSituation_12 as Secondary_Impression
    , D.eDisposition_12 as Incident_Patient_Disposition
    , P.ePatient_15 as Age
    , P.ePatient_16 as Age_Units
    , V.EVitals_01 as Time_Vitals_Taken
    , V.EVitals_18 as Blood_Gluse_Level
    , V.eVitals_23 as Total_Glasgow_Coma_Scale
    , V.eVitals_26 as Level_of_Responsiveness
INTO GMR_FactTable_Call
FROM eTimes E
LEFT JOIN eResponse R ON E.PCR_ID = R.PCR_ID
LEFT JOIN ePatient P ON E.PCR_ID = P.PCR_ID
LEFT JOIN eVitals V ON E.PCR_ID = V.PCR_ID
LEFT JOIN eSituation S ON E.PCR_ID = S.PCR_ID
LEFT JOIN dAgency GMR ON E.PCR_ID = GMR.PCR_ID
LEFT JOIN eDisposition D ON E.PCR_ID = D.PCR_ID
WHERE E.eTimes_03 >= '01/01/2019'

【问题讨论】:

  • 先去掉Into GMR_FactTable_Call再执行查询,确保查询正确并返回你想要的结果
  • @Squirrel 是的,我一开始是这样做的,但是所有源数据都是 VARCHAR 的事实导致了我需要纠正的日期问题。感谢您的建议,因为我试图找到一个 SQL 导师来支付,但真的找不到。

标签: sql sql-server tsql join


【解决方案1】:

您当前的WHERE 子句可能与您预期的不同。改变这个:

WHERE E.eTimes_03 >= '01/01/2019'

到这里:

WHERE E.eTimes_03 >= '20190101'

如果这解决了问题,则意味着您当前的 WHERE 子句不匹配任何数据。这几乎是一个错字,但重要的是要始终记住在查询中使用正确的日期文字。上面的更正版本使用了一种明确的格式,无论您的服务器设置如何,它都应该可以工作。

【讨论】:

  • 谢谢蒂姆-这对我有很大帮助并且有效
【解决方案2】:

可能你没有E.eTimes_03 >= '01/01/2019'条件的数据

此外,请始终确保根据您的语言设置正确定义日期时间。查看您的语言设置。日期格式设置为dmy 还是mdy

DBCC USEROPTIONS

您将收到如下回复:

Set Option Value
textsize 2147483647
language us_english
dateformat mdy
... ...

现在,您需要相应地定义您的日期时间值。

E.eTimes_03 >= '18/12/2019' -- dmy

E.eTimes_03 >= '12/18/2019' -- mdy

或者您可以选择 ISO8601 格式,它与语言设置无关。

E.eTimes_03 >= '2019-12-18' -- YYYY-MM-DD format

【讨论】:

  • @DaleK,对不起。将来会照顾。我已经更新了我的答案。
  • @DaleK,明白了。我已删除图片并更新了我的答案
猜你喜欢
  • 2019-09-02
  • 2020-09-07
  • 1970-01-01
  • 2013-11-12
  • 2012-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多