name
является свойством window
notName
, пока он не будет определен как таковой
var output = "window.name: " + window.name + "\r\n" + "name: " + name;
alert(output);
Нет, невозможно PIVOT
обойтись без агрегатной функции, но вы можете сделать агрегатную функцию произвольной, обеспечив только одну исходную строку на группу. Из вашего вопроса не сразу понятно, в чем заключается ваша логика:
Например, у вас есть два значения для времени 12 (KA108112
и KA106360
) и 3 строки для времени 13 (TN04F6726
, TN28C3709
, TN52C4788
), так что есть несколько разных способов объединить эти два.
Вы можете вернуть декартово произведение:
12 13
----------------------
KA108112 TN04F6726
KA106360 TN04F6726
KA108112 TN28C3709
KA106360 TN28C3709
KA108112 TN52C4788
KA106360 TN52C4788
Или вы можете вернуть каждый результат один раз, например
12 13
----------------------
KA106360 TN04F6726
KA108112 TN28C3709
NULL TN52C4788
Но вам также необходимо предоставить дополнительную логику, то есть, почему KA106360
будет соответствовать TN04F6726
, а не любому из двух других значений (в приведенном выше примере у меня есть ordererd Trailer_RegNo в алфавитном порядке каждый раз, но может быть любое количество способов сделать это.
Исходя из вашего комментария, кажется, что вы хотите произвольно спарить значения, поэтому, чтобы убедиться, что каждое значение представлено, вам нужно сделать каждую строку уникальной , что вы можете сделать, используя ROW_NUMBER()
, например
DECLARE @T TABLE (Time INT, Trailer_RegNo VARCHAR(20));
INSERT @T (Time, Trailer_RegNo)
VALUES (12, 'KA108112'), (12, 'KA106360'), (13, 'TN04F6726'), (13, 'TN28C3709'), (13, 'TN52C4788');
SELECT Trailer_RegNo,
Time,
RowNumber = ROW_NUMBER() OVER(PARTITION BY [Time] ORDER BY Trailer_RegNo)
FROM @T;
, что дает:
Trailer_RegNo Time RowNumber
----------------------------------
KA106360 12 1
KA108112 12 2
TN04F6726 13 1
TN28C3709 13 2
TN52C4788 13 3
Теперь у вас есть способ сопряжения ваших предметов (например, KA106360 и TN04F6726, KA108112 и amp ; TN28C3709 и т. Д.) Чтобы изменить порядок группировки элементов, вам просто нужно изменить предложение ORDER BY
в функции ROW_NUMBER()
.
Таким образом, ваш последний запрос может выглядеть примерно так:
[114 ]