【问题标题】:SQL JOIN on Concatenated Column without CREATE TABLE没有 CREATE TABLE 的连接列上的 SQL JOIN
【发布时间】:2020-03-13 22:33:57
【问题描述】:

所以一张表的 ID 分为 SYMBOL 和 NUMBER 两部分,我想将其加入的表将 SYMBOL 和 NUMBER 组合起来形成 ID

以下是我想出的显然不起作用的方法......我需要做什么才能在不执行 CREATE TABLE 的情况下加入串联列?

Select
    concat(a.SYMBOL, ' ', a.NBR) AS 'ID', 
    a.Date, 
    b.Cost
From
    Identities a  
Join
    Financials b 
        On **concat(a.SYMBOL, ' ', a.NBR) AS 'ID'** = b.ID

【问题讨论】:

  • 究竟是什么不工作?你有错误吗?错误的结果?
  • Msg 4104, Level 16, State 1, Line 10 无法绑定多部分标识符。

标签: sql multiple-columns string-concatenation


【解决方案1】:

您不会“作为”连接中使用的函数的结果。您只能在 SELECT 块中为列赋予别名

Select 
  b.ID, -- can use b.id here because it is equal
  a.Date, 
  b.Cost
From Identities a
Join Financials b On concat(a.SYMBOL, ' ', a.NBR) = b.ID

【讨论】:

    猜你喜欢
    • 2016-12-23
    • 2018-01-09
    • 1970-01-01
    • 2018-08-27
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    相关资源
    最近更新 更多