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-68335

Jmaurier's questions

Martin Hope
Jmaurier
Asked: 2017-06-09 12:37:50 +0800 CST

Fazer uma consulta falhar no SSMS para versões superiores do SQL Server?

  • 4

Eu tenho o SQL Server 2014 rodando no meu computador e um banco de dados que tem um compatibility_levelde 100 (SQL Server 2008). Eu pensei que isso seria suficiente para escrever consultas no SSMS que só funcionam para o SQL Server versões 2008 e inferiores, mas por algum motivo o SSMS executa consultas que usam OVER (PARTITION BY ...)cláusulas (com o argumento BETWEEN) que são apenas para 2012 e superior.

Nosso software precisa ser compatível com 2008 R2 e superior. Existe uma configuração que eu possa alterar que fará com que minhas consultas falhem no SSMS se eu escrever uma consulta que não seja compatível com 2008 R2?

ssms sql-server-2014
  • 4 respostas
  • 823 Views
Martin Hope
Jmaurier
Asked: 2017-02-16 08:29:30 +0800 CST

Listar o valor da coluna para todos os bancos de dados que possuem uma tabela e coluna específicas

  • 1

O que estou realmente procurando é o nome de cada banco de dados com tabela ApplicationVersione coluna [Version], bem como o valor em [Version]. Alguns dos meus bancos de dados não têm a coluna da tabela especificada e devem ser ignorados. A tabela sempre tem apenas uma linha.

Database    ApplicationVersion
DB_001      5.123.0.234
DB_002      5.123.0.234
DB_003      6.223.0.435
sql-server t-sql
  • 2 respostas
  • 235 Views
Martin Hope
Jmaurier
Asked: 2017-02-01 13:42:14 +0800 CST

Um tipo de dados afeta o desempenho em uma exibição?

  • 1

Acabei de notar que em nossos bancos de dados temos uma visão que converte uma BITcoluna em um arquivo INT. A tabela subjacente tem uma coluna computada BITque é definida assim:

IncludeInJobTotals as (CONVERT(bit, 
case 
when FL.[Status]=(5) 
  or FL.[Status]=(3)
  or FL.[Status]=(2) 
then (1) 
else (0) 
end,(0)))

Em uma visão que usa IncludeInJobTotals, estamos lançando-o como um arquivo INT. Existem problemas de desempenho que isso pode causar? Que outros problemas podem existir? Há alguma razão para usar INTmais BIT?

sql-server
  • 1 respostas
  • 107 Views
Martin Hope
Jmaurier
Asked: 2016-06-23 11:19:13 +0800 CST

Ajuda de consulta baseada em tempo

  • 3

Eu não consigo fazer isso funcionar da maneira que eu preciso. Eu tenho duas tabelas Assignmente Event.

Assignment
StartDate     EndDate       Equipment
4/1/2016      4/23/2016     1001
4/3/2016      4/10/2016     1002
3/30/2016     4/20/2016     1003

Event
StartDate     EndDate       Equipment    Event
4/2/2016      4/3/2016      1001         maintenance
4/8/2016      4/10/2016     1001         maintenance
4/4/2016      4/5/2016      1002         maintenance

Preciso juntar no equipamento e ter uma saída que divida o Assignment usando os eventos. Para esses dados de amostra, eu teria uma saída parecida com esta:

StartDate     EndDate       Equipment    EventStatus
4/1/2016      4/2/2016      1001         Active
4/2/2016      4/3/2016      1001         maintenance
4/3/2016      4/8/2016      1001         Active
4/8/2016      4/10/2016     1001         maintenance
4/10/2016     4/23/2016     1001         Active
4/3/2016      4/4/2016      1002         Active
4/4/2016      4/5/2016      1002         maintenance
4/5/2016      4/10/2016     1002         Active
3/30/2016     4/20/2016     1003         Active

Assim, para o equipamento número 1001; foi colocado em uma atribuição e teve manutenção duas vezes. Essa manutenção dividiu a tarefa em 5 partes da seguinte forma:

---------------------------------------------------------------------
|  Active  |maintenance|  Active  |maintenance|       Active        |
---------------------------------------------------------------------

Cada uma dessas partes deve ter sua própria linha com a data de início e término dessa seção. Como posso escrever uma consulta para fazer isso funcionar?

sql-server
  • 2 respostas
  • 91 Views
Martin Hope
Jmaurier
Asked: 2016-06-09 09:38:41 +0800 CST

Como selecionar nomes de colunas por tipo de dados

  • 6

Como eu obteria os nomes de todas as colunas em uma tabela que são de um tipo específico, como datetime?

Melhor ainda - como posso fazer a mesma coisa, mas com várias tabelas unidas e, em seguida, listar o nome da coluna junto com a tabela de onde vem?

sql-server
  • 5 respostas
  • 13401 Views
Martin Hope
Jmaurier
Asked: 2016-04-30 08:16:03 +0800 CST

Como posso acelerar um procedimento armazenado?

  • 4

Aqui está uma pergunta de entrevista que acabei de fazer. Gostaria de saber qual seria uma boa resposta para isso e quais seriam as diferentes opções.

Temos um procedimento armazenado que está demorando 26 segundos para retornar informações obtidas de 5 tabelas. Nosso servidor atinge o tempo limite após 25 segundos. Como você pode resolver este problema?

Isso não é literal, mas está próximo da pergunta que foi feita. Eu não tinha ideia e nem acho que entramos nesse tipo de detalhe em nossa aula de banco de dados. Tudo o que consegui pensar em dizer a eles é para garantir que as tabelas sejam indexadas e nem sei se isso está certo.

Aqui está um exemplo de como isso pode parecer na criação:

CREATE PROCEDURE GetOrderForCustomers(@CustID varchar(20))
AS
BEGIN
SELECT * FROM orders o
    JOIN state s ON s.stateID = o.stateID
    JOIN customers c ON c.customerID = o.customerID
    JOIN items i ON i.itemID = o.itemID
    JOIN parts p ON p.partListID = o.partListID
WHERE c.customerID = @CustID
END

Mais uma vez, isso levaria um pouco mais de tempo do que o tempo limite permite.

  • Quais são minhas opções para acelerar este procedimento armazenado sintaticamente?
  • Quais são os diferentes tipos de metadados que podem ajudar a resolver o problema?
  • Quais práticas devem ser evitadas que são vistas no procedimento acima?
  • (Como uma pergunta não obrigatória) Seria aceitável dizer a um entrevistador que eu faria a pergunta da vida real no Stack Overflow?
sql-server performance
  • 1 respostas
  • 362 Views
Martin Hope
Jmaurier
Asked: 2015-07-08 13:00:00 +0800 CST

ORDEM PERSONALIZADA POR

  • 2

Existem outras formas de usar ORDERnos meus resultados?

20150507094958A DISPOSED        2015-05-07 09:50:00.853 Samuel  MONEY
20150507094958A DISPOSED        2015-05-22 09:25:00.000 Jeff    AUTOMOBILES
20150507094958A DISPOSED        2015-05-26 09:39:00.000 Joel    FIREARMS
20150507094958A DISPOSED-READY  2015-05-29 09:57:00.000 Samuel  MONEY
20150706132447A OUT             2011-10-19 11:25:00.000 Samuel  AUTOMOBILES
20150406110457A OUT             2015-04-02 11:07:00.000 Shane   FIREARMS
20150406105740A OUT             2015-04-06 11:00:00.000 Cordero FIREARMS
20150406105740A IN              2012-03-27 21:15:00.000 Alex    BICYCLES

Eu quero colocar tudo FIREARMSno topo e ainda ordenar por qualquer outra coluna.

sql-server sql-server-2008
  • 2 respostas
  • 1095 Views
Martin Hope
Jmaurier
Asked: 2015-07-07 14:44:41 +0800 CST

Pivôs dando muitos resultados

  • 2

Estou tentando aprender como funciona esse pivô. Acho que não estou entendendo direito. Eu só quero fazer uma contagem simples para vários tipos de itens que têm alguns status. A tabela na qual estou trabalhando tem colunas: [Status], [ItemType] e várias outras.

Aqui está o que estou fazendo atualmente

SELECT [NEW]
    ,[IN]
    ,[OUT]
    ,READY = [READY FOR DISPOSAL] 
    ,TRANSIT = [IN ROUTE TO DISPOSAL]
    ,[DISPOSED]
    ,[TYPE] = [ItemType] 
FROM [EVAULTTEST].[dbo].[Items] AS ei

PIVOT(
COUNT([Status])
FOR [Status] IN ([NEW], [IN], [DISPOSED]
    , [IN ROUTE TO DISPOSAL], [OUT], [READY FOR DISPOSAL])
) AS piv

E o resultado

1   0   0   0   0   0   FIREARMS
0   1   0   0   0   0   FIREARMS
1   0   0   0   0   0   FIREARMS
0   1   0   0   0   0   FIREARMS
1   0   0   0   0   0   MONEY
1   0   0   0   0   0   Automobiles
0   1   0   0   0   0   Aircraft
1   0   0   0   0   0   Automobiles
1   0   0   0   0   0   Automobiles
1   0   0   0   0   0   ALCOHOL
0   0   1   0   0   0   MONEY
0   0   1   0   0   0   AUTOMOBILES
0   0   1   0   0   0   AUTOMOBILES

Por que eles não colapsam em algo assim:

2   0   0   0   0   0   FIREARMS
0   2   0   0   0   0   FIREARMS
1   0   0   0   0   0   MONEY
3   0   0   0   0   0   Automobiles
0   1   0   0   0   0   Aircraft
1   0   0   0   0   0   ALCOHOL
0   0   1   0   0   0   MONEY
0   0   2   0   0   0   AUTOMOBILES
sql-server sql-server-2008
  • 1 respostas
  • 44 Views
Martin Hope
Jmaurier
Asked: 2015-07-04 08:49:40 +0800 CST

Informações sobre uma coluna e os dados que ela contém?

  • 3

Estou trabalhando com uma tabela que possui 3 datas diferentes associadas a cada item da tabela. Não entendo o que é cada vez, então quero saber se existe um lugar padrão que a pessoa que fez a mesa possa ter documentado o que significa.

RecoveryDate              |UpdateDateTime           |InitialCheckIn
2015-04-06 11:00:00.000   |2015-05-22 08:52:35.373  |2015-04-06 11:04:35.837
2015-04-02 11:07:00.000   |2015-05-06 12:52:48.923  |2015-05-01 13:03:44.977
2015-05-07 09:50:00.853   |2015-07-01 11:09:53.337  |2015-05-26 10:03:46.760
2015-05-22 09:25:00.000   |2015-06-05 08:27:43.917  |2015-05-26 09:24:47.100
2015-05-26 09:39:00.000   |2015-06-30 12:48:20.960  |2015-05-26 10:03:46.620
2015-05-29 09:57:00.000   |2015-07-02 13:53:29.277  |2015-06-03 10:21:59.687
2015-06-01 12:05:00.000   |2015-06-02 14:25:01.197  |2015-06-01 12:07:33.827
sql-server sql-server-2008
  • 1 respostas
  • 29 Views
Martin Hope
Jmaurier
Asked: 2015-06-30 10:22:32 +0800 CST

Faça uma coluna para cada contagem(*) em um dia da semana

  • 6

Eu tenho uma mesa de pessoas que estão fazendo trabalhos por peça. Cada entrada na tabela tem um ID de usuário, nome e uma data para cada relatório inserido.

Preciso fazer um relatório semanal do que essas pessoas fizeram por dia começando no domingo

  1. Como agrupar por semana a partir de domingo?
  2. Como você faz uma coluna para cada COUNT(*) por dia?

t0001, Tod, 2015-6-29
t0001, Tod, 2015-6-29
t0001, Tod, 2015-6-29
t0001, Tod, 2015-6-29
t0001, Tod, 2015-6-29
t0001, Tod, 2015-6-28
t0001, Tod, 2015-6-28
b0002, Ben, 2015-6-29
b0002, Ben, 2015-6-29
b0002, Ben, 2015-6-28

Isto é o que estou procurando.

NAME | S | M | T | W | R | F | S | TOTAL
----------------------------------------
TOD  | 2 | 5 | - | - | - | - | - | 7
BEN  | 1 | 2 | - | - | - | - | - | 3
sql-server sql-server-2008
  • 3 respostas
  • 12312 Views
Martin Hope
Jmaurier
Asked: 2015-06-12 13:53:00 +0800 CST

Fazendo uma seleção com base em um count (), um intervalo de datas e uma correspondência de string

  • 4

Eu vou fazer o meu melhor aqui.

Tenho uma lista de citações que foram escritas e algumas informações sobre essas citações. Preciso selecionar as citações que foram anuladas em um determinado intervalo de datas e onde a pessoa que o escreveu também escreveu mais de 5 citações nesse mesmo intervalo de datas.

Eu quero um resultado que mostre todas as citações que a pessoa 'x' escreveu citação 1 ... info, citação 2 ... info, citação 3 ... info, citação 4 ... info, citação 5 ... info, ... etc

DECLARE @BeginDate Date = '3/15/2015'
DECLARE @EndDate Date = '4/1/2015'
DECLARE @MinVoids INT = 5

SELECT d.CreatorUserId

FROM [ECITATION].[dbo].[tblDocument] AS d
    JOIN [ARK].[dbo].[DocStatus] AS ds 
    ON  d.DocStatus = ds.StatusNum AND (ds.StatusName LIKE 'void%')

WHERE DateModified BETWEEN @BeginDate AND @EndDate 
--DateModified is when the document was voided--

GROUP BY d.CreatorUserId
HAVING COUNT(d.CreatorUserId) >= @MinVoids

Isso me dá os guias certos, mas não todos eles. Não consigo descobrir por que não está pegando todos eles. (Deveria ser 16 e eu só tenho 11). Tenho a sensação de que COUNT não está funcionando como eu gostaria.

E só porque estou paranóico em parecer ignorante em relação aos gurus do SQL, comecei a aprender SQL há cerca de duas semanas.

SOLUÇÃO Havia algumas informações que deixei de fora que poderiam ter ajudado, mas a resposta ainda ajudou muito para resolvê-lo.

DECLARE @BeginDate Date = '3/15/2015'
DECLARE @EndDate Date = '4/1/2015'
DECLARE @MinVoids INT = 5

SELECT d.CreatorFirstName + ' ' + d.CreatorLastName as name
    ,ds.StatusName

FROM [ECITATION].[dbo].[tblDocument] AS d
    JOIN [ARK].[dbo].[DocStatus] AS ds 
    ON  d.DocStatus = ds.StatusNum 

WHERE DateModified BETWEEN @BeginDate AND @EndDate
    AND (ds.StatusName LIKE 'void%')
    AND ((ds.StatusNum BETWEEN 1 AND 20) OR (ds.StatusNum BETWEEN 100 AND 120))
    AND ( SELECT COUNT(*)
        FROM [ECITATION].[dbo].[tblDocument] AS dc
            JOIN [ARK].[dbo].[DocStatus] AS dst 
            ON  dc.DocStatus = dst.StatusNum
        WHERE dc.CreatorUserId = d.CreatorUserId
            AND (dst.StatusName LIKE 'void%')
            AND dc.DateCreated BETWEEN @BeginDate AND @EndDate
            AND ((dst.StatusNum BETWEEN 1 AND 20) OR (dst.StatusNum BETWEEN 100 AND 120))
      ) >= @MinVoids
ORDER BY name
sql-server
  • 1 respostas
  • 133 Views
Martin Hope
Jmaurier
Asked: 2015-06-12 06:09:57 +0800 CST

Pesquisa de nome de coluna SQL

  • 6

Estou usando o SQL Server Management Studio. Tenho um banco de dados enorme e quero pesquisar nomes de colunas que possam me ajudar a descobrir o que preciso para ingressar.

Existe uma ferramenta ou outro método para fazer esse tipo de pesquisa? Eu tenho procurado uma maneira de fazer uma pesquisa de coluna, mas não consigo encontrar uma.

sql-server
  • 2 respostas
  • 514 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