2011-07-23 6 views
0

deux tables SQL 2005 TableauxSQL SELECT combiner des déclarations en deux colonnes

Trend Table 
    Enter Exit Number 
    .01 .01  0 
    .02 .02  1 
    .03 .03  2 
    .04 .04  3 

    Orders Table 
    Ticker Enter Exit 
    EUR  0  1 
    GBP  2  3 

Exigence: Une requête unique pour produire le Entrez et les valeurs de sortie du tableau Tendance de la seule Symbole du tableau des commandes. Une valeur de ticker fournira des nombres entiers d'entrée et de sortie dans la table Commandes qui correspondent à la colonne Nombre dans la table de tendance qui pointe vers les valeurs réelles d'entrée et de sortie décimales que la requête doit afficher.

Entrée et sortie Les valeurs doivent figurer dans des colonnes séparées. La requête suivante produit une sortie avec des valeurs dans une seule colonne (voir sortie)

SELECT T.Enter 
FROM Trend AS T INNER JOIN Orders AS O ON O.Enter = T.Number 
WHERE (O.Ticker = 'EUR') 
UNION 
SELECT D.Exit 
FROM Trend AS D INNER JOIN Orders AS F ON F.Exit= D.Number 
WHERE (F.Ticker = 'EUR') 

OUTPUT: 
Exit 
0.01 
0.02 
+0

je vois quelqu'un senti qu'il y avait une raison de voter contre (-1) cette question ... Je voudrais demander pourquoi ... – CraigJSte

+0

ne me suis pas downvote, mais le CRIS dans le titre et (S'IL VOUS PLAÎT) sont un peu ennuyeux. –

+0

Toutes les majuscules d'un titre sont grammaticalement correctes; avec un «s'il vous plaît» cela peut impliquer une attente d'assistance qui pourrait être considérée comme grossière mais ce n'était pas l'intention. Je vais essayer de modifier, mais avec la notation que les manières électroniques peuvent être prises trop loin et pour moi semble un peu enfantin. – CraigJSte

Répondre

2

Est-ce que c'est ce que vous cherchez?

SELECT Orders.Ticker, T1.Enter, T2.Exit 
FROM Orders 
INNER JOIN Trend T1 ON Orders.Enter = T1.Number 
INNER JOIN Trend T2 ON Orders.Exit = T2.Number 
+0

Cela déclenche une ERREUR À 'Table' Les tables sont 'Tendance' & 'Commandes' aussi T1.Number sur la deuxième requête doit être T2.Number? – CraigJSte

+0

Mon erreur. corrigé le sql – Eddy

+0

oui, mais je dois ajouter une clause WHERE à ce .. O WH (Orders.Ticker = 'EUR') AUTRE c'est bon ... voir pas si dur je suppose que je ne savais pas que vous pouviez le faire comme ça ! – CraigJSte

Questions connexes