begin process at 2012 05 26 23:13:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

Pb utilisation alias colonne dans une vue


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb utilisation alias colonne dans une vue

lundi 26 juin 2006 à 17:54:44 | Pb utilisation alias colonne dans une vue

babe59

Bonjour,

J'essaye de créer une vue sous SQL Server express où :
   - je formate deux dates (DH_D & DH_F) sous le format  99/99/9999 
   - je calcule une différence entre ces deux dates (calcul de la durée)

La syntaxe ci dessous génére une erreur : DH_D et DH_F ne sont pas connus dans l'instruction DateDiff. Je vois bien les colonnes apparaître avec les dates au bon format lors de l'execution de la requete mais SQL n'arrive pas à utiliser les alias dans l'instruction DateDiff...

SELECT     dbo.TBL_PAT.NOM, dbo.TBL_PAT.PRENOM, dbo.TBL_PIECE.LIB_LONG AS PIECE,
                      SUBSTRING(dbo.TBL_PERIODE.DH_DEBUT, 7, 2)
                      + '/' + SUBSTRING(dbo.TBL_PERIODE.DH_DEBUT, 5, 2) + '/' + SUBSTRING(dbo.TBL_PERIODE.DH_DEBUT, 1, 4)
                      + ' ' + SUBSTRING(dbo.TBL_PERIODE.DH_DEBUT, 9, 2) + ':' + SUBSTRING(dbo.TBL_PERIODE.DH_DEBUT, 11, 2)
                      + ':' + SUBSTRING(dbo.TBL_PERIODE.DH_DEBUT, 13, 2) AS DH_D,
                      SUBSTRING(dbo.TBL_PERIODE.DH_FIN, 7, 2)
                      + '/' + SUBSTRING(dbo.TBL_PERIODE.DH_FIN, 5, 2) + '/' + SUBSTRING(dbo.TBL_PERIODE.DH_FIN, 1, 4)
                      + ' ' + SUBSTRING(dbo.TBL_PERIODE.DH_FIN, 9, 2) + ':' + SUBSTRING(dbo.TBL_PERIODE.DH_FIN, 11, 2)
                      + ':' + SUBSTRING(dbo.TBL_PERIODE.DH_FIN, 13, 2) AS DH_F,
                      DATEDIFF(dd, SUBSTRING(DH_D, 1, 10), SUBSTRING(DH_F, 1, 10)) AS DUREE
FROM         dbo.TBL_ETAGE INNER JOIN
                      dbo.TBL_PIECE ON dbo.TBL_ETAGE.PK_ETAGE = dbo.TBL_PIECE.FK_ETAGE INNER JOIN
                      dbo.TBL_TV ON dbo.TBL_PIECE.PK_PIECE = dbo.TBL_TV.FK_PIECE INNER JOIN
                      dbo.TBL_PAT INNER JOIN
                      dbo.TBL_PERIODE ON dbo.TBL_PAT.PK_PATIENT = dbo.TBL_PERIODE.FK_PATIENT ON
                      dbo.TBL_TV.PK_PRISE_TV = dbo.TBL_PERIODE.FK_PRISE_TV
WHERE     (dbo.TBL_PERIODE.ETAT_PERIODE = 'T') AND (dbo.TBL_PERIODE.DH_CLOTURE >= '20060601080000') AND
                      (dbo.TBL_PERIODE.DH_CLOTURE <= '200606300800')

Pouvez vous m'aider
Merci



DT
jeudi 29 juin 2006 à 11:44:25 | Re : Pb utilisation alias colonne dans une vue

skweeky

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Oui, c'est normal, si je définie un alias sur un champ je ne peux le reprendre directement dans le même SELECT, par exemple :

SELECT [CultureID]
,[Name] AS X
,[ModifiedDate] + X
FROM [AdventureWorks].[Production].[Culture]

Pour pouvoir l'utiliser soit un reprend la formule à la base de l'alias, dans on cas c'est énorme donc pas très simple... Ou sinon une sous requête :

SELECT X + [ModifiedDate]
FROM
(
SELECT [CultureID]
,[Name] AS X
,[ModifiedDate]
FROM [AdventureWorks].[Production].[Culture]
) AS W


-----------------
Christian Robert
Winwise
vendredi 30 juin 2006 à 13:57:29 | Re : Pb utilisation alias colonne dans une vue

babe59

Merci beaucoup pour l'info et l'exemple

Slts

DT


Cette discussion est classée dans : substring, tbl, periode, dbo, dh


Répondre à ce message

Sujets en rapport avec ce message

Ajouter une colonne [ par olaaa ] En fait je shouaite ajouter une colonne a ma table record_tbl a chaque fois qu'un nouveau tuple est ajouté a la table additional_field_tbl. Pour cela Requete de mise à jour Access [ par lamoedo59 ] J'ai besoin d'aide... J'utilise une requete access appelée depuis une page asp pour mettre à jour ma base de données. La requete fonctionne correcteme Requete sur un AGREGAT [ par cyberice67 ] Bonjour, Voilà j'ai un big problème sur une requete SQL. J'ai une base de donnée SQL Server est j'essaie de créer une requete portant sur un agregat. Besoin d'aide en SQL avec access [ par developvbdebut ] Bonjour tout le mondeon tape le nom recherché dans une zone de text. les noms et prenoms s'affiche dans une zone de liste (car plusieurs membres de la requete sur pls bases.... [ par exyacc ] salut, voila, j'utilise msde et j'arrive pas a faire des requetes sur des tables qui se trouvent sur 2 bases differentes.... j'ai essayé genre: INS Insert de select [ par elpens ] Bonjour, j'ai un petit soucis avec une procédure :Voilà :Je voudrai insérer les valeurs obtenues de la deuxième query, dans la première queryINSERT IN Proc Stock - Algo [ par cbu ] Bonjour,voila j'ai cette proc stock :set ANSI_NULLS ONset QUOTED_IDENTIFIER ONGOALTER PROCEDURE [dbo].[sp_UserLogin]     @pi_Login Varchar(50)   , @pi TRIGGER AFTER / BEFORE [ par vladam ] hello, j'ai un trigger :CREATETRIGGER dbo.IsAuthDeleted </font Problème de suppression [ par cbu ] Bonjour,j'ai ceci :declare @IBID intset @IBID = 50    DELETE FROM dbo.mnBoIB     WHERE (dbo.mnBoIB.IBID=@IBID)    AND (@IBID not in (SELECT DISTINCT d Doubles Jointures [ par babe59 ] BonjourTBL_CUSTOMER est en relation 1,n avec une table TBL_TOWN (la ville/CP du client)TBL_CUSTOMER est en relation 1,n avec une table TBL_COLLABORATO


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales