Ignorerer de åbenlyse problemer med dit borddesign som nævnt i alle kommentarerne og accepterer, at dette kan vise sig at være meget langsomt på et stort bord, sådan kan jeg gøre det.
Først... Jeg ville lave en erklæring, der ville gøre alle rækkerne til en stor, massiv kommaafgrænset liste.
DECLARE @tmp VarChar(max)
SET @tmp = ''
SELECT @tmp = @tmp + ColumnA + ',' FROM TableA
Brug derefter den tabelværdisatte udf-split, der er beskrevet i denne SO-artikel, til at vende den massive streng tilbage til en tabel med en særskilt klausul for at sikre, at den er unik.
https://stackoverflow.com/a/2837662/261997
SELECT DISTINCT * FROM dbo.Split(',', @tmp)