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

AA.SC's questions

Martin Hope
AA.SC
Asked: 2023-08-24 17:23:52 +0800 CST

Pesquisa de texto em várias colunas sem ativar a pesquisa de texto completo

  • 5

Tenho um cenário em que precisamos ativar uma pesquisa com várias palavras-chave em um campo de texto. Esta pesquisa deve envolver a verificação das palavras-chave em várias colunas (aproximadamente 4-6) em várias tabelas (atualmente 2 tabelas).

Problema, posso construir a consulta com operadores simples "AND" "OR"

  1. Consulta na tentativa 1: retornar mais saída do que o necessário

  2. Consulta na tentativa 2: retornar registro zero na saída

  3. SAÍDA obrigatória: é a única primeira linha da saída da tentativa 1

     -- truncate table #Customer
    
     -- truncate table #FaxDocs    
    

    -- Criação de Tabela

     CREATE tABLE #FaxDocs ( [FaxDocID] INT , CustID INT,  RemoteCSID VARCHAR(20),  CSFileName VARCHAR(200))
    
     INSERT INTO #FaxDocs
    
     SELECT 1,1,'123ag','257831.PDF'
    
     UNION ALL 
    
     SELECT 2,1,'123yg','257837.PDF'
    
     UNION ALL 
    
     SELECT 3,2,'123g','257838.PDF'
    
     UNION ALL 
    
     SELECT 4,3,'123lg','257839.PDF'
    
     UNION ALL 
    
     SELECT 5,4,'123CK','257840.PDF'
    
    
    
     CREATE TABLE #Customer ( CustID INT , CFNAME VARCHAR(20),  CLNAME VARCHAR(200))
    
     insert into #Customer
    
     SELECT 1,'ABCNJSGHK', 'CDE'
    
     UNION ALL 
    
     SELECT 2,'CNJSGHK', 'CDE'
    
     UNION ALL 
    
     SELECT 3,'FGH', 'IJK'
    
     UNION ALL 
    
     SELECT 4,'LMN', 'OPQ'
    

    --- Palavra-chave da barra de pesquisa

     DECLARE @Search VARCHAR(MAX) =  'NJSGHK 257831.PDF'     
    
    
    
         --CREATE TABLE #WordsToLookUp (Item VARCHAR(257), Location INT, Sequence INT PRIMARY KEY)
    
    
    
             INSERT INTO #WordsToLookUp(Item,[Location],[Sequence])
    
             SELECT 'NJSGHK',0,1
    
             UNION ALL 
    
             SELECT '257831.PDF',8,2
    
    
    
         ----------------------------------------------------------
    
    
    
              SELECT * FROM #WordsToLookUp
    
             --truncate table  #WordsToLookUp
    
    
    
     --- Attempt 1
    
              SELECT  [FaxDocID], Customer.CustID ,ISNULL(Customer.CFNAME,'') AS [FName], ISNULL(Customer.CLNAME,'') AS [LName] ,
    
                 Faxes.CSFileName
    
                 FROM #FaxDocs Faxes
    
                 LEFT JOIN #Customer Customer ON Faxes.CustID = Customer.CustID 
    
                 left join #WordsToLookUp B on Customer.CFNAME  like '%'+ b.item+'%'
    
                 left join #WordsToLookUp c on Customer.CLNAME  like '%'+ c.item+'%'
    
                 left join #WordsToLookUp d on Faxes.RemoteCSID  like '%'+ d.item+'%'
    
                 left join #WordsToLookUp e on Faxes.CSFileName  like '%'+ e.item+'%'
    
                 WHERE Faxes.[FaxDocID] in (1,2,3,4)
    
    
    
     -- Attempt 2
    
                 SELECT  [FaxDocID], Customer.CustID ,ISNULL(Customer.CFNAME,'') AS [FName], ISNULL(Customer.CLNAME,'') AS [LName] ,
    
                 Faxes.CSFileName
    
                 FROM #FaxDocs Faxes
    
                 LEFT JOIN #Customer Customer ON Faxes.CustID = Customer.CustID 
    
                 WHERE Faxes.[FaxDocID] in (1,2,3,4)
    
                 and exists (select 1 from #WordsToLookUp b where Customer.CFNAME  like '%'+ b.item+'%')
    
                 and exists (select 1 from #WordsToLookUp c where Customer.CLNAME  like '%'+ c.item+'%')
    
                 and exists (select 1 from #WordsToLookUp d where Faxes.RemoteCSID  like '%'+ d.item+'%')
    
                 and exists (select 1 from #WordsToLookUp e where Faxes.CSFileName  like '%'+ e.item+'%')
    
sql-server
  • 1 respostas
  • 29 Views
Martin Hope
AA.SC
Asked: 2016-02-23 23:59:56 +0800 CST

Calcular visitas totais

  • 12

Estou tentando escrever uma consulta em que preciso calcular o número de visitas de um cliente, cuidando dos dias sobrepostos. Suponha que a data de início do itemID 2009 seja 23 e a data final seja 26, portanto, o item 20010 está entre esses dias, não adicionaremos esta data de compra à nossa contagem total.

Exemplo de Cenário:

Item ID Start Date   End Date   Number of days     Number of days Candidate for visit count
20009   2015-01-23  2015-01-26     4                      4
20010   2015-01-24  2015-01-24     1                      0
20011   2015-01-23  2015-01-26     4                      0
20012   2015-01-23  2015-01-27     5                      1
20013   2015-01-23  2015-01-27     5                      0
20014   2015-01-29  2015-01-30     2                      2

OutPut deve ser de 7 VisitDays

Tabela de entrada:

CREATE TABLE #Items    
(
CustID INT,
ItemID INT,
StartDate DATETIME,
EndDate DATETIME
)           


INSERT INTO #Items
SELECT 11205, 20009, '2015-01-23',  '2015-01-26'  
UNION ALL 
SELECT 11205, 20010, '2015-01-24',  '2015-01-24'    
UNION ALL  
SELECT 11205, 20011, '2015-01-23',  '2015-01-26' 
UNION ALL  
SELECT 11205, 20012, '2015-01-23',  '2015-01-27'  
UNION ALL  
SELECT 11205, 20012, '2015-01-23',  '2015-01-27'   
UNION ALL  
SELECT 11205, 20012, '2015-01-28',  '2015-01-29'  

Eu tentei até agora:

CREATE TABLE #VisitsTable
    (
      StartDate DATETIME,
      EndDate DATETIME
    )

INSERT  INTO #VisitsTable
        SELECT DISTINCT
                StartDate,
                EndDate
        FROM    #Items items
        WHERE   CustID = 11205
        ORDER BY StartDate ASC

IF EXISTS (SELECT TOP 1 1 FROM #VisitsTable) 
BEGIN 


SELECT  ISNULL(SUM(VisitDays),1)
FROM    ( SELECT DISTINCT
                    abc.StartDate,
                    abc.EndDate,
                    DATEDIFF(DD, abc.StartDate, abc.EndDate) + 1 VisitDays
          FROM      #VisitsTable abc
                    INNER JOIN #VisitsTable bc ON bc.StartDate NOT BETWEEN abc.StartDate AND abc.EndDate      
        ) Visits

END



--DROP TABLE #Items 
--DROP TABLE #VisitsTable      
sql-server sql-server-2008-r2
  • 4 respostas
  • 2117 Views
Martin Hope
AA.SC
Asked: 2016-02-18 03:05:06 +0800 CST

Maneira eficiente de gerar Time Slots para um cronograma

  • 2

Eu tenho uma tabela nomeada com #MySchedulecolunas StartTimee .EndTimeduration

O que eu preciso é de uma consulta para obter todos os Slots de tempo para cada linha em MySchedule entre esses StartTime e EndTime com base na coluna de duração.

Tabela MySchedule:

create table #MySchedule
(
startTime datetime, 
endtime datetime,
duration int
)

insert into #MySchedule
select '1/3/15 10:00 AM' startTime ,'1/3/15 4:00 PM' endTime ,15 duration 
union all 
select '1/4/15 10:00 AM' startTime ,'1/4/15 2:00 PM' endTime ,30 duration 
union all 
select '1/5/15 10:00 AM' startTime ,'1/5/15 4:00 PM' endTime ,45 duration 

Saída esperada:

    Slots   StartTime           EndTime
    1       '1/3/15 10:00 AM'   '1/3/15 10:15 AM'
    2       '1/3/15 10:15 AM'   '1/3/15 10:30 AM'
    3       '1/3/15 10:30 AM'   '1/3/15 10:45 AM'
    4       '1/3/15 10:45 AM'   '1/3/15 11:00 AM'
    5       '1/3/15 11:00 AM'   '1/3/15 11:15 AM'
    .       ...                 ...
    .       '1/3/15 3:45 PM'    '1/3/15 4:00 PM'
    ---------------------------------------------
    .       '1/4/15 10:00 AM'   '1/4/15 10:30 AM'
    .       '1/4/15 10:30 AM'   '1/4/15 11:00 AM'
    .       ...                 ...
    .       '1/4/15 13:30 AM'   '1/4/15 14:00 PM'
    ---------------------------------------------
    .       '1/5/15 10:00 AM'   '1/5/15 10:45 AM'
    .       '1/5/15 10:45 AM'   '1/5/15 11:30 AM'
    .       ...                 ...
    .       '1/5/15 15:15 AM'   '1/5/15 16:00 PM'
sql-server sql-server-2008
  • 1 respostas
  • 5243 Views
Martin Hope
AA.SC
Asked: 2015-12-31 05:08:11 +0800 CST

Melhor maneira de obter a última identidade inserida em uma tabela

  • 46

Qual é a melhor opção para obter o valor de identidade que acabei de gerar por meio de uma inserção? Qual é o impacto dessas declarações em termos de desempenho?

  1. SCOPE_IDENTITY()
  2. Função agregadaMAX()
  3. SELECT TOP 1IdentityColumn FROM TableNameORDER BY IdentityColumn DESC
sql-server sql-server-2008-r2
  • 2 respostas
  • 246327 Views
Martin Hope
AA.SC
Asked: 2015-11-14 01:39:32 +0800 CST

Paginação do SQL Server usando CTE

  • 2

Eu tenho que aplicar paginação na consulta conforme o requisito, preciso de duas colunas extras além do resultado da consulta
1. Total de registros
2. Total de páginas

mas estou tentando confirmar que este é o caminho certo para recuperar o número total de páginas

CASE WHEN TotalRec%@PageSize > 0 THEN TotalRec/@PageSize) +1 ELSE TotalRec/@PageSize) END  TotalPage
WITH CTE 
AS
(
        SELECT COUNT(*) OVER() TotalRec, ROW_Number() over(ORDER BY id) RowNo, ColumnOne, ColumnTwo
        FROM
        (           
        SELECT ColumnOne, ColumnTwo
        FROM table1 ct LEFT OUTER JOIN table2 IR ON ct.code=IR.code                         
        WHERE table1.code=3
        Group By  ColumnOne, ColumnTwo

        )ImmCat
)

    SELECT TotalRec TotalRec, 
    CASE WHEN TotalRec%@PageSize > 0 THEN TotalRec/@PageSize) +1 ELSE TotalRec/@PageSize) END  TotalPage 
    ,ColumnOne, ColumnTwo
    FROM CTE
    WHERE RowNo BETWEEN (((@PageNo - 1)*@PageSize) + 1)) AND (@PageNo * @PageSize)) 
sql-server sql-server-2008-r2
  • 3 respostas
  • 885 Views
Martin Hope
AA.SC
Asked: 2015-08-28 00:16:11 +0800 CST

Zero linhas retornam ao consultar DMV sys.dm_os_performance_counters

  • 9

Eu tenho um usuário SQL Server 2014 Standard Edition (RTM)com SYSADMINfunção com permissões de estado de exibição de servidor, mas quando executo o DMV sys.dm_os_performance_counters, ele não retorna nenhum registro.

Alguma ideia do que há de errado com as permissões?

insira a descrição da imagem aqui

Saída de @@Version:

Microsoft SQL Server 2014 - 12.0.2000.8 (X64) 20 de fevereiro de 2014 20:04:26 Copyright (c) Microsoft Corporation Standard Edition (64 bits) no Windows NT 6.3 (Build 9600: ) (Hypervisor)

sql-server sql-server-2014
  • 1 respostas
  • 1365 Views
Martin Hope
AA.SC
Asked: 2015-01-14 23:33:03 +0800 CST

Falha na declaração de alteração da tabela - Msg 207, nível 16, estado 1

  • 2

Escrevi um script para adicionar uma coluna em uma tabela e, na execução bem-sucedida, atualizar seus valores. Eu sei que é apenas um script simples, mas o que há de errado com a declaração 'IF NOT EXISTS' porque o script entre BEGIN e END não está sendo executado e retorna erro. Verifiquei que não há gatilho DDL no nível do banco de dados para parar de adicionar colunas no banco de dados.

Msg 207, Nível 16, Estado 1, Linha 24
Nome de coluna inválido ColumnName.

DECLARE @CloumnAdded bit
SET @CloumnAdded = 0

IF NOT EXISTS ( SELECT  1
                FROM    Sys.Columns
                WHERE   [Object_ID] = Object_ID('DBName.dbo.TableName')
                        AND Name = 'ColumnName' ) 
    BEGIN

        ALTER TABLE TableName  ADD ColumnName varchar(120)

        SET @CloumnAdded = 1

        select @CloumnAdded, 'step 1 '
    END


IF ( @CloumnAdded = 1 ) 
    BEGIN
        select @CloumnAdded,'step 2'

        UPDATE  TableName
        SET     ColumnName = '2669'

        select @CloumnAdded,'step 3'
    END

GO
sql-server sql-server-2008-r2
  • 1 respostas
  • 3583 Views
Martin Hope
AA.SC
Asked: 2014-11-25 04:40:58 +0800 CST

SSIS - Este erro é gerado pela coleção Connections quando o elemento de conexão específico não é encontrado

  • 9

Estou escrevendo um pacote para fazer upload do resultado da consulta para FTP como arquivo CSV.

O pacote está funcionando bem na máquina local, mas depois de transferir .dtsConfig e .dtsx em outro ambiente, ele lança a seguinte mensagem de erro após executar todas as tarefas no pacote.

Descrição: a conexão "{008A2775-60D6-44B1-8790-69958EB74371}" não foi encontrada. Este erro é gerado pela coleção Connections quando o elemento de conexão específico não é encontrado. End Error Erro: 2014-11-24 07:32:05.79 Código: 0xC001000E Fonte: PackageName
Descrição: A conexão "{008A2775-60D6-44B1-8790-69958EB74371}" não foi encontrada. Este erro é gerado pela coleção Connections quando o elemento de conexão específico não é encontrado. End Error DTExec: A execução do pacote retornou DTSER_FAILURE (1). Iniciado: 7:32:05 AM Terminado: 7:32:07 AM Decorrido: 1,81 segundos. A execução do pacote falhou. A etapa falhou.

alguma ideia de qual será o motivo?

sql-server sql-server-2008-r2
  • 1 respostas
  • 50350 Views
Martin Hope
AA.SC
Asked: 2014-11-06 22:58:29 +0800 CST

Qual é a diferença entre as colunas is_unique e is_unique_constraint em sys.indexes

  • 6

Temos duas colunas is_uniquee is_unique_constraintpara restrições únicas sys.indexese quero esclarecer alguns conceitos com base nessas duas colunas

  1. A instrução de criação para ambos os tipos de índices é a mesma, exceto fill factoro valor da propriedade ou estou perdendo alguma coisa?
  2. Se a declaração 1 for verdadeira, por que temos duas colunas em sys.indexes para restrição exclusiva?
  3. Quando is_unique=1 is_unique_constraint =0e, em seguida, solte a instrução para o índice é
    DROP INDEX [index name] ON [dbo].[TableName] WITH ( ONLINE = OFF )

    E quando is_unique=1 is_unique_constraint =1e, em seguida, solte a instrução para o índice é
    ALTER TABLE [dbo].[TableName] DROP CONSTRAINT [IndexName]

    Por que?

  4. Onde usamos índice exclusivo e onde restrição exclusiva, qual é a melhor prática?

sql-server sql-server-2008-r2
  • 2 respostas
  • 1722 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