Bonjour,

J'ai besoin d'aide en sql 2005 et je fais appel aux membres du forum.

Je vous remercie à l'avance de prendre un peu de temps.

J'ai une table :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
CREATE TABLE [dbo].[non_dispo](
    [ikNon_dispo] [int] NULL,
    [ikType_non_dispo_ref] [int] NULL,
    [ikVisite] [int] NULL,
    [ddt_debut] [datetime] NULL,
    [ddt_fin] [datetime] NULL,
    [debut10]  AS (CONVERT([varchar](10),[ddt_debut],(120)) collate French_CI_AS) PERSISTED,
    [fin10]  AS (CONVERT([varchar](10),[ddt_fin],(120)) collate French_CI_AS) PERSISTED,
    [HistoriqueNonDispo] [varchar](2000) NULL
) ON [PRIMARY]
Plusieurs ikvisite ont le même numéro et certains sont uniques.
J'ai besoin de regrouper les champs HistoriqueNonDispo dans le premier enregistrement du ikvisite, lorsqu'il y en a plus d'un.

J'ai essayer avec un Update. C'est refusé parce qu'il y a plus d'une possibilité.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
update dbo.non_dispo
set HistoriqueNonDispo = debut10 + ' - ' + fin10 + ' - ' + tr.cType_non_dispo_ref 
     from dbo.non_dispo
     inner join  BD.dbo.Type_Non_Dispo_Ref tr 
     on dbo.non_dispo.ikType_non_disponibilite_ref = tr.ikType_non_disponibilite_ref
exemple de la table non_dispo :


100 1 aaaaaaaaaaa
101 1 bbbbbbbbbbb
102 1 ccccccccccc
103 2 aaaa
104 3 aaaa
Résultat attendu :
100 1 aaaaaaaaaaabbbbbbbbbbbccccccccccc
101 1 bbbbbbbbbbb
102 1 ccccccccccc
103 2 aaaa
104 3 aaaa
Il me manque quelques notions pour faire ce genre de script.

Merci!