Cela peut sembler déroutant et facile aussi. Mais j'ai essayé quelques moyens et cela n'a pas fonctionnéSQL Server récupérer la liste des lignes dans une autre liste de lignes de la base de données
Maintenant, j'ai une table User
avec ces colonnes
- Id
- UserId
- FileId
- Texte
et un autre tableau File
- Id
- Nom du fichier
et une 3ème table de UserDetails
- Id
- Nom
- LastName
User
& File
sont liés à l'aide FileId
clé étrangère correspondant à Id
De même User
et UserDetails
sont liés à clé étrangère UserId
et Id
.
Je créé une vue en SQL:
CREATE VIEW [dbo].[vw_NewView] AS
SELECT
U.Text as Text,
UD.Name + ' ' + UD.LastName AS FullName
FROM
User U
LEFT OUTER JOIN
dbo.UserDetails UD on UD.Id = U.UserId
Maintenant, j'obtenir un jeu de résultats:
Text FullName
entry 1 NAme1
entry 2 Name2
Note: chaque User
sera associé à un UserDetails
, à savoir User
a un de un relation à un avec Userdetails
.
Mais User
a une relation un-à-plusieurs avec File
, donc tous les User
peuvent avoir plusieurs fichiers.
Comment puis-je récupérer ces fichiers pour chaque utilisateur?
Quelque chose comme ça
Text FullName FileName
entry 1 NAme1 File1
File2
entry 2 Name2 File1
File2
File3
Hey Devart!merci pour le code, mais j'apprécierais si vous pouviez expliquer ce que vous avez fait ... comme je suis désemparé. pourquoi avez-vous mis "[]" autour du texte et du fichier. S'il vous plaît guider plus loin. –
Tout d'abord, s'il vous plaît vérifier 'ROW_COUNT' ... nous ne faisons que compter les lignes par chaque utilisateur et fournir des valeurs uniquement pour la première ligne. '[]' juste un bon style de code ... utilisez un quota pour les mots système comme 'table',' column', 'text', etc – Devart
Hey ça n'a pas fonctionné exactement comme je le voulais mais merci. :) –