CREATE TABLE #E (
ID INT ,
NAME VARCHAR(20),
RESULT VARCHAR(20)
)
INSERT INTO #E VALUES (1,'DOMAIN','marka')
INSERT INTO #E VALUES (1,'EXTENSION','.com')
INSERT INTO #E VALUES (1,'TYPE','WEB')
SELECT * FROM #E
Declare @DomainName varchar(20) = ''
--How can I put the values(RESULT) in a result side by side
SELECT RESULT FROM #E WHERE ID=1 AND NAME IN ('DOMAIN','EXTENSION')
How can I put the values(RESULT) in a result side by side
How can I do it? --> Set @DomainName = 'marka.com' @DomainName = 'marka.com' --How do I add
3 Réponses :
WITH res1
AS (
SELECT result
,ID
FROM #E
WHERE name = 'DOMAIN'
)
,res2
AS (
SELECT result
,ID
FROM #E
WHERE name = 'EXTENSION'
)
SELECT CONCAT (
res1.result
,res2.result
)
FROM RES1
INNER JOIN RES2 ON RES1.ID = RES2.ID
Demo
Oui, c'est le résultat que je veux. Mais alors comment puis-je la définir @DomainName
cherchez-vous une agrégation conditionnelle?
select max(case when name = 'DOMAIN' then result end) as domain,
max(case when name = 'EXTENSION' then result end) as extension,
max(case when name = 'TYPE' then result end) as type
from #E e
group by id;
DECLARE @DomainName varchar(20) = ''
SELECT @DomainName = (DOMAIN + EXTENSION) FROM
(
SELECT *
FROM #E
WHERE ID=1
AND NAME IN ('DOMAIN','EXTENSION')
) as main
PIVOT
(
MAX(RESULT)
FOR NAME IN ([DOMAIN],[EXTENSION])
) piv
SELECT @DomainName
Production attendue?
Vous demandez-vous comment attribuer la valeur d'une variable dans une instruction code> code>? docs.microsoft.com/en-us/sql/t-sql/language-elements/...
Merci tout le monde. J'ai fait