|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : décembre 2007 Messages : 84 ![]() |
Bonjour, je souhaiterais créer une vue en faisant une union entre deux SELECT. Auriez vous une idée de comment s'y prendre ? Je pensais faire un truc comme ça...
Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
bonjour
Ta requête ne peut pas fonctionner. Il faut impérativement que le nombre de colonnes des deux requêtes de l'UNION soient identiques. Dans la 2eme requête, ajoute de colonnes NULL afin d'atteindre le nombre de colonnes de la première requête. Attention aussi aux parenthèses |
|
|
00
|
|
|
#3 | ||
|
Membre confirmé
![]() Grégoire MARTINIngénieur développement logiciels Inscription : janvier 2011 Messages : 128 ![]() |
Bonjour,
Code :
__________________
Cordialement. |
||
|
|
00
|
|
|
#4 | ||
|
Nouveau Membre du Club
![]() Inscription : décembre 2007 Messages : 84 ![]() |
Merci beaucoup pour vos réponses !
Je m'excuse ORA-007 mais je ne comprend pas trop le code que tu as mis... J'ai fait des modifications et j'obtiens ça, quels sont les choses qui ne vont pas ? Merci beaucoup ! Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
est ce qu'elle fonctionne ?
Ce serait bien d'utiliser la norme 92 pour les jointures Il faut aussi que les types de colonnes soient identiques entre les 2 select (à vérifier) attention aux parenthèses Code :
|
||
|
|
00
|
|
|
#6 | ||
![]() ![]() |
Comme ORA-007, je ne suis pas sûr que tu aies besoin d'un UNION ALL mais plutôt d'une jointure supplémentaire avec la table V_RFCFG_UMTS_UTRANCELL puisque tu ne fais qu'ajouter aux colonnes de la première requête une colonne de cette dernière table dans ta deuxième requête.
Au passage, les jointures s'écrivent depuis 1992 avec l'opérateur JOIN ; il serait temps de s'y mettre ! Et avec l'utilisation d'alias, ta requête serait plus agréable à lire. Tu te rendrais ainsi compte que la table "bsc" n'existe pas dans ta requête ! Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#7 | |||||
|
Membre confirmé
![]() Grégoire MARTINIngénieur développement logiciels Inscription : janvier 2011 Messages : 128 ![]() |
En relisant, plusieurs choses me paraissent erronées :
Citation:
D'ou provient la donnée : Citation:
Citation:
RadioEng_ERP_SiteInfo RadioEng_ERP_SectorInfo V_RFCFG_UMTS_UTRANCELL Je ne pense pas que tu as besoin de faire un UNION si ton besoin est de rajouter Code :
CREATE VIEW Arantech_NodeB_View (cell, mcc, mnc, lac, cid, bsc, msc, type, lat, lon, nodeB)
__________________
Cordialement. |
|||||
|
|
00
|
|
|
#8 | |
![]() ![]() |
J'avais simplement récrit la première requête; Apparemment, il a changé des trucs dans la seconde.
En plus sans les alias c'est tellement peu lisible que je n'ai peut-être pas vu qu'il y avait des petites différences entre les noms des tables préfixant les noms de colonnes. S'il nous disait plus concrètement quel est son besoin, on pourrait trouver la solution la plus adaptée parce qu'ajouter juste une colonne avec un UNION ALL, ça va donner un résultat bizarre ! Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() Grégoire MARTINIngénieur développement logiciels Inscription : janvier 2011 Messages : 128 ![]() |
C'est quoi déjà le proverbe ?
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." PS : J'avais pas vu mais en fait tu l'as déjà mise dans ta signature CinePhil
__________________
Cordialement. |
|
|
00
|
|
|
#10 | ||
|
Nouveau Membre du Club
![]() Inscription : décembre 2007 Messages : 84 ![]() |
Bon ok j'avoue je suis vraiment pas clair depuis le début et ma premiere requete n'avait aucun sens...
Je vais reprendre le truc plus clairement, je dois créer une vue permettant de lire les valeurs de deux SELECT et les mettre a la suite. Voila ce que j'obtiens présentement : Code :
|
||
|
|
00
|
|
|
#11 | ||
![]() ![]() |
Apparemment, tu n'as pas dû lire la phrase en bleu de ma signature, répétée en noir par ORA-007 !
En termes clairs et concis, quel est ton besoin ? Pourquoi veux-tu faire une union entre ces deux requêtes ? Qu'attends-tu comme résultat ? Récrite avec les jointures normalisées depuis 1992 et indentée correctement, ta requête est un peu plus facile à lire et semble syntaxiquement juste : Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#12 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2007 Messages : 84 ![]() |
Oui c'est parfait ça fonctionne !
Désolé pour la normalisation je l'avais bien lu mais je devais faire cette vue un peu dans l'urgence... maintenant que c'est fait je vais pouvoir regarder plus attentivement cette autre façon de l'écrire ! Merci beaucoup pour votre aide ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com