Articles of sql server 2008

Concatenar valores com base no ID

Eu tenho uma tabela chamada Resultados e os dados se parece com: Response_ID Label 12147 It was not clear 12458 Did not Undersstand 12458 Was not resolved 12458 Did not communicate 12586 Spoke too fast 12587 Too slow Agora quero que a saída exiba uma linha por ID e os valores do label sejam concatenados […]

Ter uma ‘OR’ em uma condição INNER JOIN é uma má ideia?

Ao tentar melhorar a velocidade de uma consulta imensamente lenta (vários minutos em duas tabelas com apenas ~ 50.000 linhas cada, no SQL Server 2008, se isso importa), reduzi o problema a um OR em minha junit interna, como em: SELECT mt.ID, mt.ParentID, ot.MasterID FROM dbo.MainTable AS mt INNER JOIN dbo.OtherTable AS ot ON ot.ParentID […]

Cláusula WHERE condicional no SQL Server

Eu estou criando uma consulta SQL em que eu preciso de uma cláusula where condicional. Deve ser algo assim: SELECT DateAppr, TimeAppr, TAT, LaserLTR, Permit, LtrPrinter, JobName, JobNumber, JobDesc, ActQty, (ActQty-LtrPrinted) AS L, (ActQty-QtyInserted) AS M, ((ActQty-LtrPrinted)-(ActQty-QtyInserted)) AS N FROM [test].[dbo].[MM] WHERE DateDropped = 0 –This is where i need the conditional clause AND CASE […]

Como posso selecionar o primeiro dia de um mês no SQL?

Eu só preciso selecionar o primeiro dia do mês de uma determinada variável datetime. Eu sei que é muito fácil fazer usando esse tipo de código: select CAST(CAST(YEAR(@mydate) AS VARCHAR(4)) + ‘/’ + CAST(MONTH(@mydate) AS VARCHAR(2)) + ‘/01’ AS DATETIME) mas isso não é muito elegante, e provavelmente não é muito rápido também. Existe uma […]

Gerar datas entre intervalos de datas

Preciso preencher uma tabela que armazene os intervalos de datas entre duas datas: 09/01/11 – 10/10/11 Então, neste caso, a tabela iria começar a partir de 09/01/11 e armazenar todos os dias até chegar a 10/10/11 Eu queria saber se havia uma maneira esperta de fazer isso no SQL Server – atualmente estou usando o […]

Como agrupar o tempo por hora ou por 10 minutos

como quando eu faço SELECT [Date] FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY [Date] Como posso especificar o período do grupo? MS SQL 2008 2ª edição estou tentando SELECT MIN([Date]) AS RecT, AVG(Value) FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY (DATEPART(MINUTE, [Date]) / 10) ORDER BY RecT alterou% 10 para / 10. é possível fazer a saída de dados sem milissegundos?

Consultando dados unindo duas tabelas em dois bancos de dados em diferentes servidores

Existem duas tabelas em dois bancos de dados diferentes em servidores diferentes, preciso juntá-las para fazer algumas consultas. Quais opções eu tenho? O que devo fazer?

Remover zeros à direita do decimal no SQL Server

Eu tenho uma coluna DECIMAL(9,6) ou seja, ele suporta valores como 999,123456. Mas quando eu insiro dados como 123,4567 torna-se 123,456700 Como remover esses zeros?

Obtenha o primeiro dia da semana no SQL Server

Estou tentando agrupar registros por semana, armazenando a data agregada como o primeiro dia da semana. No entanto, a técnica padrão que eu uso para arredondar as datas não parece funcionar corretamente com semanas (embora isso aconteça por dias, meses, anos, trimestres e qualquer outro período de tempo que eu apliquei). Aqui está o SQL: […]

SQL Server – Valor de retorno após INSERT

Estou tentando recuperar o valor-chave depois de uma instrução INSERT. Exemplo: Eu tenho uma tabela com os atributos name e id. id é um valor gerado. INSERT INTO table (name) VALUES(‘bob’); Agora quero recuperar o id na mesma etapa. Como isso é feito? Estamos usando o Microsoft SQL Server 2008.