AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-243184

Ernesto CD's questions

Martin Hope
Ernesto CD
Asked: 2021-12-03 13:44:12 +0800 CST

Como dinamizar usando várias colunas no SQL Server?

  • 0

Estou tendo problemas para criar uma tabela dinâmica que segue o esquema descrito abaixo. Por exemplo, com a tabela a seguir (nem todos os registros são mostrados aqui):

Rota Bus_Fare_Payment_Method Total_Annual_Household_Income
Rota 1 10-Passagem US$ 15 mil a US$ 19 mil
Rota 1 10-Passagem US$ 15 mil a US$ 19 mil
Rota 1 10-Passagem US$ 25 mil a US$ 29 mil
Rota 1 10-Passagem US$ 60 mil ou mais
Rota 1 Tarifa em dinheiro normal Abaixo de US$ 10 mil
Rota 1 Tarifa em dinheiro normal Abaixo de US$ 10 mil
Rota 1 Tarifa em dinheiro normal Abaixo de US$ 10 mil
Rota 1 Tarifa em dinheiro normal Abaixo de US$ 10 mil
Rota 1 Tarifa em dinheiro normal Abaixo de US$ 10 mil
Rota 1 Tarifa em dinheiro normal Abaixo de US$ 10 mil
Rota 1 Tarifa em dinheiro normal Abaixo de US$ 10 mil
Rota 1 Tarifa em dinheiro normal Abaixo de US$ 10 mil
Rota 10 10-Passagem US$ 30 mil a US$ 39 mil
Rota 10 Adulto de 31 dias US$ 10 mil a US$ 14 mil
Rota 10 Adulto de 31 dias US$ 10 mil a US$ 14 mil
Rota 10 Adulto de 31 dias US$ 10 mil a US$ 14 mil
Rota 10 Adulto de 31 dias US$ 10 mil a US$ 14 mil
Rota 10 Adulto de 31 dias US$ 15 mil a US$ 19 mil
Rota 10 Adulto de 31 dias US$ 20 mil a US$ 24 mil
Rota 10 Adulto de 31 dias US$ 20 mil a US$ 24 mil
Rota 10 Adulto de 31 dias US$ 20 mil a US$ 24 mil
Rota 10 Adulto de 31 dias US$ 20 mil a US$ 24 mil
Rota 101 Passe de dia inteiro reduzido Abaixo de US$ 10 mil
Rota 101 Outro Abaixo de US$ 10 mil
Rota 101 Tarifa reduzida US$ 10 mil a US$ 14 mil
Rota 101 Tarifa reduzida US$ 25 mil a US$ 29 mil
Rota 101 Tarifa reduzida US$ 30 mil a US$ 39 mil
Rota 101 Tarifa reduzida US$ 40 mil a US$ 49 mil
Rota 101 Tarifa reduzida US$ 60 mil ou mais
Rota 101 Tarifa reduzida US$ 60 mil ou mais
Rota 101 Tarifa reduzida US$ 60 mil ou mais
Rota 101 Tarifa reduzida Abaixo de US$ 10 mil
Rota 101 Tarifa reduzida Abaixo de US$ 10 mil
Rota 101 Tarifa reduzida Abaixo de US$ 10 mil
Rota 101 Tarifa em dinheiro normal US$ 10 mil a US$ 14 mil
Rota 101 Tarifa em dinheiro normal US$ 10 mil a US$ 14 mil
Rota 101 Tarifa em dinheiro normal US$ 10 mil a US$ 14 mil
Rota 101 Tarifa em dinheiro normal US$ 10 mil a US$ 14 mil

Gostaria de produzir a seguinte tabela:

Rota Bus_Fare_Payment_Method US$ 10 mil a US$ 14 mil US$ 15 mil a US$ 19 mil US$ 20 mil a US$ 24 mil US$ 25 mil a US$ 29 mil US$ 30 mil a US$ 39 mil US$ 40 mil a US$ 49 mil US$ 60 mil ou mais Abaixo de US$ 10 mil
Rota 1 10-Passagem 2 1 1
Rota 1 Adulto de 31 dias
Rota 1 Passe de dia inteiro reduzido
Rota 1 Outro
Rota 1 Tarifa reduzida
Rota 1 Tarifa em dinheiro normal 8
Rota 10 10-Passagem 1
Rota 10 Adulto de 31 dias 4 1 4
Rota 10 Passe de dia inteiro reduzido
Rota 10 Outro
Rota 10 Tarifa reduzida
Rota 10 Tarifa em dinheiro normal
Rota 101 10-Passagem
Rota 101 Adulto de 31 dias
Rota 101 Passe de dia inteiro reduzido 1
Rota 101 Outro 1
Rota 101 Tarifa reduzida 1 1 1 1 3 3
Rota 101 Tarifa em dinheiro normal 4

Consigo criar a tabela a seguir com a consulta incluída abaixo, mas estou faltando o campo Route que preciso como parte da minha saída (como mostrado acima).

SELECT [Bus_Fare_Payment_Method] "Bus Fare Payment Method", [Under $10k] 'Under $10k', [$10K to $14K] '$10K to $14K',[$15k to $19k] '$15k to $19k', [$20k to $24k] '$20k to $24k', [$25k to $29k] '$25k to $29k', [$30k to $39k] '$30k to $39k', [$40k to $49k] '$40k to $49k', [$50k to $59k] '$50k to $59k', [$60k or more] '$60k or more'
FROM   
(SELECT [Route], [Total_Annual_Household_Income], [Bus_Fare_Payment_Method]  
FROM [BCT_TDP_SURVEY_2018] where [Bus_Fare_Payment_Method] != '' ) p  
PIVOT  
(  
COUNT ([Route])  
FOR [Total_Annual_Household_Income] IN  
( [Under $10k], [$10K to $14K],[$15k to $19k], [$20k to $24k], [$25k to $29k], [$30k to $39k], [$40k to $49k], [$50k to $59k], [$60k or more] )  
) AS pvt  
ORDER BY pvt.[Bus_Fare_Payment_Method]
Bus_Fare_Payment_Method US$ 10 mil a US$ 14 mil US$ 15 mil a US$ 19 mil US$ 20 mil a US$ 24 mil US$ 25 mil a US$ 29 mil US$ 30 mil a US$ 39 mil US$ 40 mil a US$ 49 mil US$ 60 mil ou mais Abaixo de US$ 10 mil
10-Passagem 2 1 1 1
Adulto de 31 dias 4 1 4
Passe de dia inteiro reduzido 1
Outro 1
Tarifa reduzida 1 1 1 1 3 3
Tarifa em dinheiro normal 4 8
sql-server pivot
  • 1 respostas
  • 45 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve