Пример данных
CREATE table #Phonetype
( ptype_id INT,
description VARCHAR(20)
)
INSERT INTO #Phonetype
SELECT 1,'HOME' UNION ALL
SELECT 2,'WORK' UNION ALL
SELECT 3,'CELL'
CREATE table #Phone
(phoID INT,
pho_PhoneNum BIGINT,
ptype_id INT)
INSERT INTO #Phone
SELECT 1,012313 ,1 UNION ALL
SELECT 2,0132465,2 UNION ALL
SELECT 3,1324654,3
Использование PIVOT на сервере Sql
DECLARE @Columns nvarchar(max),
@IsnullColumns nvarchar(max),
@Sql nvarchar(max)
SELECT @Columns= STUFF((SELECT ', '+QUOTENAME([description]) FROM #Phonetype t
INNER JOIN #Phone p
On t.ptype_id=p.ptype_id FOR XML PATH ('')),1,1,'')
SET @Sql='
SELECT [phoID], '+@Columns+'
FROM
( SELECT T.ptype_id,
[description],
phoID,
pho_PhoneNum
FROM #Phonetype t
INNER JOIN #Phone p
On t.ptype_id=p.ptype_id
) AS SRC
PIVOT
(MAX(pho_PhoneNum) FOR [description] IN('+@Columns+')
) AS PVT
'
PRINT @Sql
EXEC (@Sql)
Просто некоторые подсказки прежде, чем идти далее:
Вы попробовали другими символами, такими как пространство (%20) или символ ASCII с диакритическим знаком? Кроме того, Вы попытались поместить другие символы после %23 (кроме наклонной черты), чтобы видеть, разделяются ли они также?
Одно предположение могло быть то, что, поскольку # рассматривают как привязку на текущей странице, # и независимо от того, что, после будет разделен в переписывании.
Я должен был бы согласиться с первым ответом - и без доступа к апачской конфигурации, Вам могло бы не повезти. Используя 'До-диез' или что-то в той вене могло бы быть способом пойти.
http://httpd.apache.org/docs/2.2/rewrite/rewrite_guide.html
Считайте раздел перезаписи привязки.
# особое значение в URI, то же имеет как / или? делает. У Вас есть эта проблема с другими символами? В конечном счете Вы не должны использовать #, входят в систему URI так или иначе, если Вы не обращаетесь к привязке на странице.