Hallo,
ich habe ein furchtbares SQL- Statement zusammengestellt, welches funktioniert aber eben sehr unübersichtlich ist.
Meine Frage wäre jetzt, muss ich, um die Länge zu bestimmen, nochmals das gleiche SQL- Statement verwenden oder gibt es eine Möglichkeit, aus dem ersten Sub- SELECT die länge rauszubekommen und diese dann in SUBSTRING(x,y, LEN) -> LEN einsetzen?
Vielen Dank!
SELECT
employee.ID,
employee.FIRSTNAME,
employee.MIDDLENAME,
employee.LASTNAME,
substring(
(
SELECT ',' + phone.NUMBER AS [text()]
FROM [Intranet_Inside_cons].[dbo].[EMPLOYEE] AS employee1 LEFT JOIN [Intranet_Inside_cons].[dbo].[PHONE] AS phone ON employee1.ID = phone.EMPLOYEE_ID
WHERE employee1.ID = employee.ID
ORDER BY employee1.ID
FOR XML PATH ('')
), 2, LEN(
(
SELECT ',' + phone.NUMBER AS [text()]
FROM [Intranet_Inside_cons].[dbo].[EMPLOYEE] AS employee1 LEFT JOIN [Intranet_Inside_cons].[dbo].[PHONE] AS phone ON employee1.ID = phone.EMPLOYEE_ID
WHERE employee1.ID = employee.ID
ORDER BY employee1.ID
FOR XML PATH ('')
)
)) AS [PHONENUMBERS]
FROM [Intranet_Inside_cons].[dbo].[EMPLOYEE] AS employee
ich habe ein furchtbares SQL- Statement zusammengestellt, welches funktioniert aber eben sehr unübersichtlich ist.
Meine Frage wäre jetzt, muss ich, um die Länge zu bestimmen, nochmals das gleiche SQL- Statement verwenden oder gibt es eine Möglichkeit, aus dem ersten Sub- SELECT die länge rauszubekommen und diese dann in SUBSTRING(x,y, LEN) -> LEN einsetzen?
Vielen Dank!
SELECT
employee.ID,
employee.FIRSTNAME,
employee.MIDDLENAME,
employee.LASTNAME,
substring(
(
SELECT ',' + phone.NUMBER AS [text()]
FROM [Intranet_Inside_cons].[dbo].[EMPLOYEE] AS employee1 LEFT JOIN [Intranet_Inside_cons].[dbo].[PHONE] AS phone ON employee1.ID = phone.EMPLOYEE_ID
WHERE employee1.ID = employee.ID
ORDER BY employee1.ID
FOR XML PATH ('')
), 2, LEN(
(
SELECT ',' + phone.NUMBER AS [text()]
FROM [Intranet_Inside_cons].[dbo].[EMPLOYEE] AS employee1 LEFT JOIN [Intranet_Inside_cons].[dbo].[PHONE] AS phone ON employee1.ID = phone.EMPLOYEE_ID
WHERE employee1.ID = employee.ID
ORDER BY employee1.ID
FOR XML PATH ('')
)
)) AS [PHONENUMBERS]
FROM [Intranet_Inside_cons].[dbo].[EMPLOYEE] AS employee