здесь приведен пример таблицы:как получить имя столбца Макс
Create table #TableA (ID INT
, [1] DECIMAL(6,5)
,[1.1] DECIMAL(6,5)
, [2] DECIMAL(6,5)
,[2.2] DECIMAL(6,5)
, [3] DECIMAL(6,5)
,[3.3] DECIMAL(6,5)
, [4] DECIMAL(6,5)
,[4.4] DECIMAL(6,5)
, FLAGB1 CHAR(1)
, FLAGB2 float)
INSERT INTO #TABLEA (ID, [1],[1.1],[2],[2.2],[3],[3.3],[4],[4.4],FLAGB1,FLAGB2 )
VALUES(1, 1.1111,null, 2.2222,0.1234, 3.3333,null,null, 1.4444,'y',null)
, (2, null,1.2345, 2.2345,null, 3.2345, 4.2345,1.5437,0.2378,null,null)
,(3, 5.3789,1.2222,0.23864,null, 2.2222, 3.2222, 4.2222,null,'y',null)
Drop #TableA
мне нужна колонка FLAGB2, чтобы получить «MAX» колонки-имена, если FLAGB1 является «Y». Извинения, я не мог бы поставить требование в предложении (ы) более четко, поэтому результат должен выглядеть следующим образом:
> [ID] [1] [1.1] [2] [2.2] [3] [3.3] [4] [4.4] [FLAGB1] [FLAGB2]
> 1 1.11110 NULL 2.22220 0.12340 3.33330 NULL NULL 1.44440 y 4.4
> 2 NULL 1.23450 2.23450 NULL 3.23450 4.23450 1.54370 0.23780 NULL NULL
> 3 5.37890 1.22220 0.23864 NULL 2.22220 3.22220 4.22220 NULL y 4
это не сработает, потому что фактическая таблица имеет около 60 столбцов. Просто для того, чтобы это было ясно, не имеет ничего общего со значениями столбцов. его сам столбец, который должен быть самым высоким (кроме нулей), если на FLAB1 есть «Y». FLAGB2 должен быть заполнен именами столбцов [4.4] и [4] независимо от его значений строк. – sql84
@sqlsean. , , Он будет работать, он просто делает очень длинный запрос. Однако ваше требование еще больше усиливает мое мнение о том, что эта информация должна быть в таблице объединения/соединения. –
Извините, может быть, я не был ясен ... я не хочу, чтобы имена столбцов имели наибольшее значение под ним. Мне нужен FLAGB2, чтобы получить имена столбцов с любым значением под ним (кроме null), но сам по себе является самым высоким, чем другие столбцы, а также имеет «Y» для FLAGB1 ........ имена столбцов пришли из конкатенации двух разные столбцы образуют две разные таблицы ... если это то, что вы имели в виду по таблице соединений? – sql84