2017-10-13 5 views
0

J'essaye de combiner deux tables, S&P2 et Foundation, de sorte que je puisse transférer l'information des rangées correspondantes dans S&P2.Tic dans Foundation.Ticker.Hung sur le code de concaténation

J'ai créé ce code; Cependant, peu importe comment je modifie le code SQL renvoie toujours le code d'erreur 1054: Colonne/champ inconnu. Ce champ est toujours S&P2. Si cette erreur n'apparaît pas, SQL s'exécutera continuellement.

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; 

Je suis coincé sur ce pendant un certain temps, et après avoir lu les autres codes 1054 réponses aux questions que j'étais encore incapable d'appliquer les solutions à mon code d'erreur.

Répondre

0

Avez-vous essayé de diviser la requête en aussi petites instructions que possible? Essayez d'exécuter chaque côté de la déclaration d'union séparément.

+0

Cela va s'exécuter, mais il ne renvoie que les colonnes Foundation et S & P2 séparément; cependant, j'ai besoin de combiner les tickers 'S & P2' avec le comnm' Foundation'. –

+0

Donc, les deux côtés de l'union vont fonctionner séparément? Peut-être essayer d'envelopper chaque côté de l'union entre parenthèses. –

+0

En outre, la seconde moitié de l'instruction union devra probablement être mise à jour pour que les champs sélectionnés proviennent de la table Foundation car S & P2 sera null. –