Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Łączysz wiersze zapytanych wyników według unikalnego identyfikatora?

DECLARE @a TABLE
(
    Museum VARCHAR(32),
    MuseumID INT, 
    Country VARCHAR(32),
    City VARCHAR(32),
    Paintings VARCHAR(32),
    Sculptures VARCHAR(32)
);

INSERT @a VALUES
('Louvre',345,'France','Paris', 'Mona Lisa',     NULL),
('Louvre',345,'France','Paris', NULL,            'Venus De Milo'),
('Louvre',345,'France','Paris', 'Ship of Fools', NULL);


SELECT DISTINCT Museum, MuseumID, Country, City, 
    Art = STUFF((SELECT ', ' + COALESCE(Paintings, Sculptures, '')
    FROM @a AS a2
    WHERE a2.museum = a.museum AND a2.MuseumID = a.MuseumID
    AND a2.Country = a.Country AND a2.City = a.City
    FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'),
    1,2,'')
FROM @a AS a;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. utrata skali podczas wykonywania obliczeń

  2. Wyzwalacz SQL Server:zrozumienie i alternatywy

  3. SQLCMD Nie można ukończyć procesu logowania z powodu opóźnienia w otwieraniu połączenia z serwerem

  4. SQL Server:Jak przechowywać dane binarne (np. plik Word)?

  5. T-SQL Zapytanie tabelę macierzową dla wolnej pozycji