J'ai les résultats suivants:
Select t1.ID, t1.Value1 from t1 where t1.ID=1
Résultat:
ID Value1 1 val1 1 val2 1 val3 1 val4
et
Select t2.ID, t2.Value2 from t2 where t2.ID = 1
Résultat 2:
ID Value2 1 val5 1 val6 1 val7 1 val8
et je veux get comme:
ID Value1 Value2 1 val1 val5 1 val2 val6 1 val3 val7 1 val4 val8
Comment puis-je get ce résultat ??
J'ai dû assumer un peu de ce que vous voulez en fonction de vos résultats, mais je pense que ce qui suit fonctionnera:
;WITH CTE1 AS ( SELECT ID, Value1, ROW_NUMBER() OVER(ORDER BY Value1) [RowNumber] FROM t1 ), CTE2 AS ( SELECT ID, Value2, ROW_NUMBER() OVER(ORDER BY Value2) [RowNumber] FROM t2 ) SELECT COALESCE(CTE1.ID, CTE2.ID) [ID], Value1, Value2 FROM CTE1 FULL JOIN CTE2 ON CTE1.ID = CTE2.ID AND CTE1.RowNumber = CTE2.RowNumber
FULL JOIN
pourrait être remplacé par LEFT JOIN
ou INNER JOIN
En fonction de vos besoins exacts.
SELECT t1.ID, t1.Value1, t2.Value2 FROM t1 INNER JOIN t2 ON t2.ID = t1.ID WHERE t1.ID=1
Espérons que l'une des jointures externes vous aidera à résoudre votre problème
SELECT t1.ID, t1.Value1, t2.Value2 FROM t1 Droite externe Join t2 ON t2.ID = t1.ID OERE t1.ID = 1