2017-10-13 115 views
0

我想结合两个表,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的问题的答案后,我仍然无法解决方案应用到我的代码。

回答

0

您是否试图将查询分解为尽可能小的语句?尝试单独运行union语句的每一面。

+0

即将运行,但它只会分别返回“Foundation”和“S&P2”列;但是,我需要将'S&P2'代码与'Foundation'代码结合起来。 –

+0

因此,工会的双方将分开运行?也许试着用圆括号包裹联盟的每一边。 –

+0

此外,union声明的后半部分可能需要更新,以便所选字段来自Foundation表,因为S&P2将为null。 –