Est-il possible d'utiliser ses propres tuples comme source pour une instruction JOIN ?
Voici un exemple de ce que je cherche :
SELECT u.id, u.name FROM users u INNER JOIN {{tupl1},{tupel2},{tupel3},...}
Est-il possible d'utiliser ses propres tuples comme source pour une instruction JOIN ?
Voici un exemple de ce que je cherche :
SELECT u.id, u.name FROM users u INNER JOIN {{tupl1},{tupel2},{tupel3},...}
Dans SQL Server 2008, vous utilisez le Constructeur de Valeur de Table.
déclarer @T table(ID int)
insérer dans @T valeurs (1),(2),(3),(4),(5)
sélectionner *
de @T comme T1
inner join (
values (1, 'Ligne 1'),
(2, 'Ligne 2')
) comme T2(ID, Col1)
sur T1.ID = T2.ID
De nombreuses plateformes de SGBD prennent en charge les expressions de table commune.
with my_own_tuples as (
select 'valeur1' as colonne1, 'valeur2' as colonne2
union all
select 'valeur3', 'valeur4'
union all
select 'valeur5', 'valeur6'
)
select colonne1, colonne2
from ma_autre_table
inner join my_own_tuples on (my_own_tuples.colonne1 = ma_autre_table.colonne1);
MySql a un certain support pour les tuples avec des comparaisons et l'égalité, bien que je peine à trouver une référence définitive à ce sujet.
Par exemple:
SELECT *
FROM table1 t1
INNER JOIN table2 t2
ON (t1.Col1, t1.Col2) = (t2.Col1, t2.Col2);
Et
SELECT *
FROM table1 t1
WHERE (t1.Col1, t1.Col2) <= ('SomeValue', 1234);
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.