【问题标题】:Hung Up on Concatenation Code挂断连接代码
【发布时间】:2018-03-25 16:58:03
【问题描述】:

我正在尝试合并S&P2Foundation 这两个表,以便将S&P2.Tic 中相应行的信息传输到Foundation.Ticker

我创建了这段代码;但是,无论我如何更改代码 SQL 总是返回错误代码 1054:未知列/字段。该字段始终为S&P2。如果没有弹出此错误,SQL 将继续运行。

USE nasdaqProj;

SELECT `S&P2`.`fyear`
FROM `nasdaqProj`.`S&P2`;

select * from Foundation;

SELECT `S&P2`.`conm` As sconm, `S&P2`.`tic` as 'ticker'
from nasdaqProj.`S&P2`
left outer join Foundation
ON `S&P2`.conm LIKE CONCAT (Foundation.comnm,'%')
and `S&P2`.fyear = Foundation.year

UNION

SELECT `S&P2`.`conm` As sconm, `S&P2`.`tic` as ticker

from nasdaqProj.`S&P2`
right outer join Foundation
ON `S&P2`.conm LIKE CONCAT (Foundation.comnm,'%')
and `S&P2`.fyear = Foundation.year;

我已经坚持了一段时间,在阅读了其他错误代码 1054 问题答案后,我仍然无法将解决方案应用于我的代码。

【问题讨论】:

    标签: sql concatenation error-code mysql-error-1054


    【解决方案1】:

    您是否尝试过将查询分解为尽可能小的语句?尝试分别运行 union 语句的每一侧。

    【讨论】:

    • 这将运行,但它只分别返回FoundationS&P2 列;但是,我需要将 S&P2 代码与 Foundation comnm 结合起来。
    • 那么联合的双方会分开运行吗?也许尝试将联合的每一边都用括号括起来。
    • 另外,联合声明的后半部分可能需要更新,以便选择的字段来自 Foundation 表,因为 S&P2 将为空。
    猜你喜欢
    • 2019-03-18
    • 1970-01-01
    • 2016-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多