En gros je souhaite sérializer les données de la deuxième table dans un
champ tout en récupérant les champs de la première table. Est-ce
possible de faire ça avec SQL 2000 dans une procédure stockée ou une vue ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bonsoir,
Je vous conseillerais de passer par une UDF, mais c'est aussi faisable sans (sur le même principe) C'est un premier jet car pour bien faire il faudrait gérer les cas ou il n'y a pas de n° de serie, les noms vide etc ...
Create function f_GetListePerihByIdMachine(@id_machine int) returns varchar(4000) as Begin Declare @r as varchar(4000) Set @r='' Select @r=@r+strNom+'='+strNumeroDeSerie+',' from tblPeripheriques where IdMachine = @id_machine Set @r=left(@r,len(@r)-1) --Retire la dernière virgule
return(ISNULL(@r,'')) END
Puis la requete :
select strNom , dbo.f_GetListePerihByIdMachine(id) from tblMachines Ceci en supposant que la table tblPeripheriques ait une colonne id (que vous n'avez pas précisée...)
En gros je souhaite sérializer les données de la deuxième table dans un champ tout en récupérant les champs de la première table. Est-ce possible de faire ça avec SQL 2000 dans une procédure stockée ou une vue ?
Merchhhhhiiiii pour vos idées !!
llopht
Bonsoir,
Je vous conseillerais de passer par une UDF, mais c'est aussi faisable sans
(sur le même principe)
C'est un premier jet car pour bien faire il faudrait gérer les cas ou il n'y
a pas de n° de serie, les noms vide etc ...
Create function f_GetListePerihByIdMachine(@id_machine int)
returns varchar(4000)
as
Begin
Declare @r as varchar(4000)
Set @r=''
Select @r=@r+strNom+'='+strNumeroDeSerie+','
from tblPeripheriques
where IdMachine = @id_machine
Set @r=left(@r,len(@r)-1) --Retire la dernière virgule
return(ISNULL(@r,''))
END
Puis la requete :
select strNom , dbo.f_GetListePerihByIdMachine(id)
from tblMachines
Ceci en supposant que la table tblPeripheriques ait une colonne id (que vous
n'avez pas précisée...)
Bon code...
Fr@ncky
"llopht" <llopht@libertysurf.fr> a écrit dans le message de news:
%23aSHoYWQHHA.4744@TK2MSFTNGP02.phx.gbl...
En gros je souhaite sérializer les données de la deuxième table dans un
champ tout en récupérant les champs de la première table. Est-ce possible
de faire ça avec SQL 2000 dans une procédure stockée ou une vue ?
Je vous conseillerais de passer par une UDF, mais c'est aussi faisable sans (sur le même principe) C'est un premier jet car pour bien faire il faudrait gérer les cas ou il n'y a pas de n° de serie, les noms vide etc ...
Create function f_GetListePerihByIdMachine(@id_machine int) returns varchar(4000) as Begin Declare @r as varchar(4000) Set @r='' Select @r=@r+strNom+'='+strNumeroDeSerie+',' from tblPeripheriques where IdMachine = @id_machine Set @r=left(@r,len(@r)-1) --Retire la dernière virgule
return(ISNULL(@r,'')) END
Puis la requete :
select strNom , dbo.f_GetListePerihByIdMachine(id) from tblMachines Ceci en supposant que la table tblPeripheriques ait une colonne id (que vous n'avez pas précisée...)
En gros je souhaite sérializer les données de la deuxième table dans un champ tout en récupérant les champs de la première table. Est-ce possible de faire ça avec SQL 2000 dans une procédure stockée ou une vue ?