Ich habe drei Tabellen, die verschiedene Arten von Daten nach einem Zulassungsprozess speichern.Wie mehrere Zeilen aus drei Tabellen in einer einzigen Zeichenfolge in SQL kombinieren?
Die erste Tabelle ([dbo]. [Inscripciones_Pregrado]) speichert die grundlegenden Kontaktinformationen des zukünftigen Studenten. Die zweite Tabelle ([dbo]. [Checklist_Documentos]) speichert die Namen und IDs für die Dokumente, die der Student haben muss, um den Aufnahmeprozess abzuschließen. Die dritte Tabelle ([dbo]. [Checklist_Pregrado]) speichert die Dokumente, die der Student effektiv in die Zulassungsstelle gebracht hat.
Ich muss diese Informationen kombinieren, damit wir eine Excel-Datei exportieren können, die alle Kontaktinformationen und die Checkliste für jeden Schüler enthält.
So lassen Sie uns Tabelle 1 haves 4 Aufzeichnungen sagen:. [dbo] [Inscripciones_Pregrado]
Die zweite Tabelle (. [Dbo] [Checklist_Documentos]) haves acht Aufzeichnungen, verschiedene Arten von angeforderten Dokumente:
Und die dritte Tabelle (. [dbo] [Checklist_Pregrado]) haves 16 Datensätze:
Was ich brauche, ist, dass diese drei Tabellen kombiniert erhalten nach der ID des Aspiranten:
Bisher habe ich auf verschiedene Arten von Codes versucht haben:
Code 1
SELECT
[dbo].[Inscripciones_Pregrado].[ID],
[dbo].[Inscripciones_Pregrado].[Name],
[dbo].[Inscripciones_Pregrado].[ProgramID],
[dbo].[Checklist_Documentos].[Document]
FROM [dbo].[Inscripciones_Pregrado]
INNER JOIN
[dbo].[Checklist_Pregrado]
ON [dbo].[Checklist_Pregrado].[IdForm] = [dbo].[Inscripciones_Pregrado].[ID]
INNER JOIN
[dbo].[Checklist_Documentos]
ON [dbo].[Checklist_Documentos].[ID] = [dbo].[Checklist_Pregrado].[IdDoc]
Dieses pro jedes Dokument eine Zeile bekommt, so sind der Name und andere Aufzeichnungen wiederholt sich nach der Anzahl der Dokumente, die der Aspirant auf seiner Mappe hat.
-Code 2
SELECT
[dbo].[Inscripciones_Pregrado].[ID],
[dbo].[Inscripciones_Pregrado].[Nombres],
[dbo].[Inscripciones_Pregrado].[Apellido1],
(STUFF((SELECT CAST(', ' + [dbo].[Checklist_Pregrado].[IdDocumento] AS varchar(max))
FROM [dbo].[Checklist_Pregrado]
WHERE([dbo].[Inscripciones_Pregrado].[ID] = [dbo].[Checklist_Pregrado].[IdForm])
FOR XML PATH ('')), 1, 2, '')) AS [Docs]
FROM [dbo].[Inscripciones_Pregrado]
Dieser Code gets und Fehler: Fehler bei der Konvertierung, wenn die varchar Wert Umwandlung '' in den Datentyp int.
Ich schätze all Ihre Hilfe und Kommentare.
Dank
Statt Bilder können Sie aktuelle ddl und Beispieldaten in einem Format Verbrauchs posten? https://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –