{SQL Server} Vue avec deux SELECT
Fermé
bobenausaure
Messages postés
228
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
27 janvier 2013
-
8 juin 2009 à 16:08
Ahmed402 Messages postés 21 Date d'inscription vendredi 13 mars 2009 Statut Membre Dernière intervention 16 avril 2010 - 17 nov. 2009 à 00:06
Ahmed402 Messages postés 21 Date d'inscription vendredi 13 mars 2009 Statut Membre Dernière intervention 16 avril 2010 - 17 nov. 2009 à 00:06
A voir également:
- {SQL Server} Vue avec deux SELECT
- Vue satellite en direct gratuit de ma maison - Guide
- Ps3 media server - Télécharger - Divers Réseau & Wi-Fi
- Vue de profil instagram - Guide
- Deux ecran pc - Guide
- Filezilla server - Télécharger - Téléchargement & Transfert
3 réponses
erickacou
Messages postés
2
Date d'inscription
lundi 8 juin 2009
Statut
Membre
Dernière intervention
9 juin 2009
1
9 juin 2009 à 12:42
9 juin 2009 à 12:42
Regarde bien dans cette séquence tu appelles 3 champs
>> UNION
SELECT numprod, titreprod, annee
FROM PRODUIT
go
Pendant que dans les autres tu appelles 4 champs, regarde bien la syntaxe que je t'ai envoyée
Bonne journée
>> UNION
SELECT numprod, titreprod, annee
FROM PRODUIT
go
Pendant que dans les autres tu appelles 4 champs, regarde bien la syntaxe que je t'ai envoyée
Bonne journée
Salut, il faut que tu crées une requête union, exemple
SELECT numprod, titreprod, annee
FROM ROMAN
UNION
SELECT numprod, titreprod, annee
FROM DVD
UNION
SELECT numprod, titreprod, annee
FROM PRODUIT
ça devrait marcher
Tiens moi au courant
SELECT numprod, titreprod, annee
FROM ROMAN
UNION
SELECT numprod, titreprod, annee
FROM DVD
UNION
SELECT numprod, titreprod, annee
FROM PRODUIT
ça devrait marcher
Tiens moi au courant
bobenausaure
Messages postés
228
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
27 janvier 2013
16
8 juin 2009 à 18:55
8 juin 2009 à 18:55
merci pour ta réponse.
j'ai donc remplacé le "or" par "union", ce qui donne :
create view affich_prod
as
select p.titreprod, p.annee
from dvd d, produit p
where d.numprod = p.numprod
union
select p.titreprod, p.annee
from roman r, produit p
where r.numprod = p.numprod;
go
(je suis sous sql server 2005)
une erreur s'affiche : Msg 421, Niveau 16, État 1, Procédure affich_prod, Ligne 3
Le type de données text ne peut pas être sélectionné en tant que DISTINCT, car il n'est pas comparable.
j'ai donc remplacé le "or" par "union", ce qui donne :
create view affich_prod
as
select p.titreprod, p.annee
from dvd d, produit p
where d.numprod = p.numprod
union
select p.titreprod, p.annee
from roman r, produit p
where r.numprod = p.numprod;
go
(je suis sous sql server 2005)
une erreur s'affiche : Msg 421, Niveau 16, État 1, Procédure affich_prod, Ligne 3
Le type de données text ne peut pas être sélectionné en tant que DISTINCT, car il n'est pas comparable.
erickacou
Messages postés
2
Date d'inscription
lundi 8 juin 2009
Statut
Membre
Dernière intervention
9 juin 2009
1
>
bobenausaure
Messages postés
228
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
27 janvier 2013
8 juin 2009 à 19:50
8 juin 2009 à 19:50
Salut , Attention lis bien la requête-union que je t'ai envoyée, dans le From, j'ai pas deux tables. Tu as trois tables, tu devrais avoir (3) Select et (2) Union
Bye
Bye
bobenausaure
Messages postés
228
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
27 janvier 2013
16
>
erickacou
Messages postés
2
Date d'inscription
lundi 8 juin 2009
Statut
Membre
Dernière intervention
9 juin 2009
9 juin 2009 à 10:23
9 juin 2009 à 10:23
ah oui d'accord.
sauf que je veux afficher tous les produits, en affichant aussi l'auteur pour les romans et le réalisateur pour les DVD.
donc je fais :
create view affich_prod
as
SELECT numprod, auteur, annee, titreprod
FROM ROMAN
UNION
SELECT numprod, realisateur, annee, titreprod
FROM DVD
UNION
SELECT numprod, titreprod, annee
FROM PRODUIT
go
mais il m'affiche une erreur : Toutes les requêtes combinées à l'aide d'un opérateur UNION, INTERSECT ou EXCEPT doivent posséder un même nombre d'expressions dans leurs listes cibles.
j'ai compris l'erreur : 4 colonne pour roman et DVD et 3 pour produit, ce qui ne va pas, mais je ne vois pas comment faire...
sauf que je veux afficher tous les produits, en affichant aussi l'auteur pour les romans et le réalisateur pour les DVD.
donc je fais :
create view affich_prod
as
SELECT numprod, auteur, annee, titreprod
FROM ROMAN
UNION
SELECT numprod, realisateur, annee, titreprod
FROM DVD
UNION
SELECT numprod, titreprod, annee
FROM PRODUIT
go
mais il m'affiche une erreur : Toutes les requêtes combinées à l'aide d'un opérateur UNION, INTERSECT ou EXCEPT doivent posséder un même nombre d'expressions dans leurs listes cibles.
j'ai compris l'erreur : 4 colonne pour roman et DVD et 3 pour produit, ce qui ne va pas, mais je ne vois pas comment faire...
bobenausaure
Messages postés
228
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
27 janvier 2013
16
>
bobenausaure
Messages postés
228
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
27 janvier 2013
9 juin 2009 à 10:39
9 juin 2009 à 10:39
j'ai testé également ceci :
create view affich_prod
as
select p.titreprod, d.realisateur, p.annee
from produit p, dvd d
where p.numprod = d.numprod
union
select p.titreprod, r.auteur, p.annee
from produit p, roman r
where p.numprod = r.numprod
go
mais il me dit que le type de données text ne peut être sélectionné en tant que distinct car il n'est pas comparable...
create view affich_prod
as
select p.titreprod, d.realisateur, p.annee
from produit p, dvd d
where p.numprod = d.numprod
union
select p.titreprod, r.auteur, p.annee
from produit p, roman r
where p.numprod = r.numprod
go
mais il me dit que le type de données text ne peut être sélectionné en tant que distinct car il n'est pas comparable...
Ahmed402
Messages postés
21
Date d'inscription
vendredi 13 mars 2009
Statut
Membre
Dernière intervention
16 avril 2010
4
17 nov. 2009 à 00:06
17 nov. 2009 à 00:06
pouvez-vous essayer:
create view affich_prod as
(select p.titre,p.anne,d.realisateur from dvd d, produit p where d.numprod = p.numprod)
union
(select p.titre,p.anne,r.auteur from produit p, roman r where p.numprod = r.numprod)
Tenez moi au courant! Merçi.
create view affich_prod as
(select p.titre,p.anne,d.realisateur from dvd d, produit p where d.numprod = p.numprod)
union
(select p.titre,p.anne,r.auteur from produit p, roman r where p.numprod = r.numprod)
Tenez moi au courant! Merçi.
9 juin 2009 à 14:40