sql >> Database teknologi >  >> RDS >> Sqlserver

SQL vælg flere rækker i én kolonne

AFAIK, der er ingen indfødt måde at gøre det på. Du kan dog bruge FOR XML for at gøre dette sådan:

SELECT 
  t1.Id,
  STUFF((
    SELECT ', ' + t2.name  
    FROM Table1 t2
    WHERE t2.ID = t1.ID
    FOR XML PATH (''))
  ,1,2,'') AS Names
FROM Table1 t1
GROUP BY t1.Id;
 

SQL Fiddle Demo

Dette vil give dig:

| ID | NAMES | ---------------- | 1 | A, B, C | | 2 | D, E | | 3 | F |

  1. Spørg efter næste tidsinterval

  2. SQL-forespørgsel er nødvendig for at finde forskellige id'er, der sandsynligvis bruger IN og NOT IN

  3. Hvordan kan jeg få et link til at indlæse et tilfældigt php ID på siden?

  4. Hvordan får man adgang til data/datamappe på Android-enhed?