CREATE VIEW - 2fois le mm nom de colonne?

CREATE VIEW - 2fois le mm nom de colonne? - SQL/NoSQL - Programmation

Marsh Posté le 10-01-2006 à 15:26:54    

Hmm bon en fait j'allais poster une question, car google était resté muet sur le sujet et je n'avais pas trouvé d'antécédents sur le forum. Mais à mesure que je tapais une idée m'est venue et j'ai trouvé la soluce. Mais bon je poste quand même.
 
le CREATE VIEW ne m'autorise pas 2 x le mm nom de colonne(logique). Admettons que la view choisisse 2 colonnes de même nom dans 2 tableaux différents cela pose un problème.
 
exemple:
1 tableau "voiture" avec les colonnes id, nom, vitesse, prix.
1 tableau "options" avec les colonnes id, denomination, prix.
1 vue que l'on souhaite réaliser

CREATE VIEW v AS SELECT
voiture.nom, voiture.prix, option.denomination, option.prix
FROM voiture JOIN ustensile ON voiture.id=options.id;
 
ne marchera pas à cause de la double occurence de la colonne prix.
il faut donc renommer la colonne prix qui sera affichée dans la vue.
 
CREATE VIEW v AS SELECT voiture.nom, voiture.prix, option.denomination, option.prix AS optionprice
FROM voiture JOIN ustensile ON voiture.id=options.id;
 
Il faut donc aussi utiliser le AS pour renommer la colonne comme on le ferait pour un tableau en cas de sous requête.
hmm c'est vrai que c con en fait... mais bon si jamais je me repose la question dans 10ans ben je retrouverais mon post. :D  
 

Reply

Marsh Posté le 10-01-2006 à 15:26:54   

Reply

Marsh Posté le 10-01-2006 à 17:30:49    

How To Write Unmaintainable Code
 
Paragraphes 7, 13 et 15
 
Comme qui dirait (en introduction de ce document) :

Citation :


 
    Never ascribe to malice, that which can be explained by incompetence.
 
Napoleon


 
Je parle évidement du magnifique :
 
"option.prix as optionPrice"
 
(comment je suis méchant en fait :sol:)


Message édité par Arjuna le 10-01-2006 à 17:42:02
Reply

Marsh Posté le 11-01-2006 à 13:28:56    

Ouaip c'est vrai qu'en termes de dénomination j'ai déjà fait mieux, mais bon c'était pour l'exemple à la va-vite, ma table est bien plus propre que ca et finalement j'ai choisi de renommer ma colonne par un nom plus explicite au lieu de laisser 2 colonnes de même nom, même si les tables étaient différentes. L'art est toujours difficile, la critique reste aisée. Mais pas mal le lien :-D j'adore le mix avec l'esperanto.

Reply

Marsh Posté le 11-01-2006 à 14:06:09    

n'est-il pas ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed