DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT distinct ',' + QUOTENAME(LineSubType)
from TrnsSalaryProcessRegisterDetail
--inner join TrnsSalaryProcessRegister on TrnsSalaryProcessRegisterDetail.SRID=TrnsSalaryProcessRegister.Id
--where TrnsSalaryProcessRegisterDetail.LineValue!=null
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = '
select a.empid,a.payrollname,a.DepartmentName,s.PeriodName,
d.*
from TrnsSalaryProcessRegister s
inner join mstemployee a on a.id=s.empid
inner join
(
SELECT SRID,' + @cols + '
from
(
select SRID,LineSubType, LineValue
from TrnsSalaryProcessRegisterDetail
) x
pivot
(
sum(LineValue)
for LineSubType in (' + @cols + ')
) p
) d
on s.ID = d.SRID where s.PeriodName=''FY2017-Sep'' and a.payrollname=''EmcoStaff'' order by a.empid asc'
--print(@query)
execute(@query);
-2
A
ответ
0
Просто происходит от того, что было представлено здесь, вы посмотрите, как вы хотите, упорядоченный список отчетливого вернулся в каскадном поле ... Просто добавьте группу, и порядок, по которому должен возвращают различные значения для LineSubeType, поэтому вам, вероятно, больше не понадобится отдельное предложение.
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT ',' + QUOTENAME(LineSubType)
from TrnsSalaryProcessRegisterDetail
GROUP By QUOTENAME(LineSubType)
ORDER BY QUOTENAME(LineSubType)
--inner join TrnsSalaryProcessRegister on TrnsSalaryProcessRegisterDetail.SRID=TrnsSalaryProcessRegister.Id
--where TrnsSalaryProcessRegisterDetail.LineValue!=null
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = '
select a.empid,a.payrollname,a.DepartmentName,s.PeriodName,
d.*
from TrnsSalaryProcessRegister s
inner join mstemployee a on a.id=s.empid
inner join
(
SELECT SRID,' + @cols + '
from
(
select SRID,LineSubType, LineValue
from TrnsSalaryProcessRegisterDetail
) x
pivot
(
sum(LineValue)
for LineSubType in (' + @cols + ')
) p
) d
on s.ID = d.SRID where s.PeriodName=''FY2017-Sep'' and a.payrollname=''EmcoStaff'' order by a.empid asc'
--print(@query)
execute(@query);
+0
Посмотрите на строки 5 и 6 –
Смежные вопросы
- 1. MySQL - заказ по колонке из другой таблицы
- 2. Получить заказ названия в колонке
- 3. Flexbox заказ деталей в колонке
- 4. Как сделать заказ по результату объединения?
- 5. Хочет сделать заказ кодирования на продукт Descrption странице (Magento)
- 6. Как сделать заказ по дате?
- 7. Как сделать заказ по времени
- 8. Как сделать заказ, по убыванию?
- 9. Как сделать заказ по столбцу?
- 10. Как сделать заказ по заказу?
- 11. заказать по определенной колонке
- 12. андроид SQLite, как сделать заказ по времени
- 13. Как сделать заказ по алфавиту по строке?
- 14. Заказать по второй колонке
- 15. SQL, заказ на колонке А, а затем на колонке B
- 16. Как сделать заказ по последнему слову?
- 17. SQL - Как сделать заказ по дате мин
- 18. Как сделать «заказ» по месяцам и годам?
- 19. Как сделать заказ по предложению dynamic
- 20. Как сделать заказ по определенному пути?
- 21. Как сделать заказ по ближайшему значению флоит
- 22. Как сделать заказ по этому запросу?
- 23. Хочет заменить значение Id в колонке в данных в SQL
- 24. Laravel Query Builder - заказ на пользовательской колонке
- 25. Как сделать заказ в Rails?
- 26. Как сделать заказ в мангусте?
- 27. Как сделать заказ в массиве
- 28. Как сделать заказ в SQL
- 29. Использование порядка по объединенной колонке
- 30. Заказ на заказ по стране в администрации
Я отклонил этот вопрос, потому что он грязный, трудно читаемый и явно не включает вопрос. Это не займет время, чтобы спросить правильно, я не буду тратить время, чтобы ответить. Я удалю голосование, если вы его уберете. –
Привет и добро пожаловать в SO. Кажется, вам нужна помощь в вашем запросе. К сожалению, нам нужна дополнительная информация, чтобы иметь большую возможность помочь здесь. Здесь отличное место для начала. http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –
@ форматирование данных назначения на этом сайте требует немного времени для изучения. Я очистил часть кода, но, к сожалению, мы до сих пор не знаем, что фактически хочет OP. –