J'ai un problème SQL dont la solution serait sans doute d'utiliser UNION
JOIN, mais cela n'existe pas dans SQL Server...
Voici le problème : j'ai plusieurs tables qui contiennent toutes une
colonne "trtdate", "packageid", "imageid". j'ai besoin de retrouver
ld'autre données en sachant ces 3 informations, mais pas dans quelle table
est dont stockées.
Je voulais donc faire une requete du genre :
select imageName from table_1 union join table_2 where trtdate =
'01/07/2007' and packageid = 123456 and imageid = 5
hélas cela ne fonctionne pas. J'aai tenté de faire ceci :
select t1.imagName as imageName, t2.imagName as imageName from table_1 t1
inner join table_2 t2 on t1.trtdate = t2.trtdate and t1.packageid =
t2.packageid
where t1.tratdate = '01/07/2007'
mais cela me retourne le produit cartésin des 2 tables, et de plus, je me
retroune avec 2 colonnes nommées "imageName"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrice
Je ne suis pas dûr de bien comprende ce que l'on veut faire. La syntaxe du UNION est par exemple :
select imageName from table_1 union select imageName from table_2 where trtdate '01/07/2007' and packageid = 123456 and imageid = 5
Il est possible ensuite de mettre cette requêtre entre parenthèses et de lui adjoindre un alias ce qui permet ensuite de faire une jointure si besoin : select * from a join (select c1,c2 from b union select c1,c2 from c) as ResultStat join on etc...
Pour les dates, il est sans doute préférable d'utiliser le format ISO YYYYMMDD qui fonctionne quel que soit le réglage de langue du serveur.
-- Patrice
"Eric Belhomme" <{rico}+no/ a écrit dans le message de news:
Bonjour,
J'ai un problème SQL dont la solution serait sans doute d'utiliser UNION JOIN, mais cela n'existe pas dans SQL Server... Voici le problème : j'ai plusieurs tables qui contiennent toutes une colonne "trtdate", "packageid", "imageid". j'ai besoin de retrouver ld'autre données en sachant ces 3 informations, mais pas dans quelle table est dont stockées.
Je voulais donc faire une requete du genre :
select imageName from table_1 union join table_2 where trtdate > '01/07/2007' and packageid = 123456 and imageid = 5
hélas cela ne fonctionne pas. J'aai tenté de faire ceci :
select t1.imagName as imageName, t2.imagName as imageName from table_1 t1 inner join table_2 t2 on t1.trtdate = t2.trtdate and t1.packageid > t2.packageid where t1.tratdate = '01/07/2007'
mais cela me retourne le produit cartésin des 2 tables, et de plus, je me retroune avec 2 colonnes nommées "imageName"
Merci pour votre aide ! -- Rico
Je ne suis pas dûr de bien comprende ce que l'on veut faire. La syntaxe du
UNION est par exemple :
select imageName from table_1 union select imageName from table_2 where
trtdate '01/07/2007' and packageid = 123456 and imageid = 5
Il est possible ensuite de mettre cette requêtre entre parenthèses et de lui
adjoindre un alias ce qui permet ensuite de faire une jointure si besoin :
select * from a join (select c1,c2 from b union select c1,c2 from c) as
ResultStat join on etc...
Pour les dates, il est sans doute préférable d'utiliser le format ISO
YYYYMMDD qui fonctionne quel que soit le réglage de langue du serveur.
--
Patrice
"Eric Belhomme" <{rico}+no/spam@ricospirit.net> a écrit dans le message de
news: Xns996875DB9DA3ericbelhommefreefr@212.27.60.39...
Bonjour,
J'ai un problème SQL dont la solution serait sans doute d'utiliser UNION
JOIN, mais cela n'existe pas dans SQL Server...
Voici le problème : j'ai plusieurs tables qui contiennent toutes une
colonne "trtdate", "packageid", "imageid". j'ai besoin de retrouver
ld'autre données en sachant ces 3 informations, mais pas dans quelle table
est dont stockées.
Je voulais donc faire une requete du genre :
select imageName from table_1 union join table_2 where trtdate > '01/07/2007' and packageid = 123456 and imageid = 5
hélas cela ne fonctionne pas. J'aai tenté de faire ceci :
select t1.imagName as imageName, t2.imagName as imageName from table_1 t1
inner join table_2 t2 on t1.trtdate = t2.trtdate and t1.packageid > t2.packageid
where t1.tratdate = '01/07/2007'
mais cela me retourne le produit cartésin des 2 tables, et de plus, je me
retroune avec 2 colonnes nommées "imageName"
Je ne suis pas dûr de bien comprende ce que l'on veut faire. La syntaxe du UNION est par exemple :
select imageName from table_1 union select imageName from table_2 where trtdate '01/07/2007' and packageid = 123456 and imageid = 5
Il est possible ensuite de mettre cette requêtre entre parenthèses et de lui adjoindre un alias ce qui permet ensuite de faire une jointure si besoin : select * from a join (select c1,c2 from b union select c1,c2 from c) as ResultStat join on etc...
Pour les dates, il est sans doute préférable d'utiliser le format ISO YYYYMMDD qui fonctionne quel que soit le réglage de langue du serveur.
-- Patrice
"Eric Belhomme" <{rico}+no/ a écrit dans le message de news:
Bonjour,
J'ai un problème SQL dont la solution serait sans doute d'utiliser UNION JOIN, mais cela n'existe pas dans SQL Server... Voici le problème : j'ai plusieurs tables qui contiennent toutes une colonne "trtdate", "packageid", "imageid". j'ai besoin de retrouver ld'autre données en sachant ces 3 informations, mais pas dans quelle table est dont stockées.
Je voulais donc faire une requete du genre :
select imageName from table_1 union join table_2 where trtdate > '01/07/2007' and packageid = 123456 and imageid = 5
hélas cela ne fonctionne pas. J'aai tenté de faire ceci :
select t1.imagName as imageName, t2.imagName as imageName from table_1 t1 inner join table_2 t2 on t1.trtdate = t2.trtdate and t1.packageid > t2.packageid where t1.tratdate = '01/07/2007'
mais cela me retourne le produit cartésin des 2 tables, et de plus, je me retroune avec 2 colonnes nommées "imageName"