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

Hector's questions

Martin Hope
Hector
Asked: 2016-05-20 07:58:46 +0800 CST

ORACLE: Alterando o agrupamento de dados para basear-se nos detalhamentos do mês

  • 1

Para manter isso curto e direto ao ponto, estou procurando modificar o agrupamento para que essa consulta SQL vá de NAMEparaMonth/yy

Aqui está um exemplo do script e capturas de tela do arquivo de saída

Isto é o que estou tentando realizar.

Alguma ideia de como abordar isso?

Script SQL:

SELECT A.NAME
     COUNT(DISTINCT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '10' THEN A.ORDER_NO ELSE NULL END)) AS OCT11_ORDERS
     , COUNT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '10' THEN A.ORDER_NO ELSE NULL END) AS OCT11_LINES
     , COUNT(DISTINCT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '10' THEN A.INVOICE_NO ELSE NULL END)) AS OCT11_INV_COUNT
     , COUNT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '10' THEN A.INVOICE_NO ELSE NULL END) AS OCT11_INV_LINES
-- NOV 11 
     , COUNT(DISTINCT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '11' THEN A.ORDER_NO ELSE NULL END)) AS NOV11_ORDERS
     , COUNT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '11' THEN A.ORDER_NO ELSE NULL END) AS NOV11_LINES
     , COUNT(DISTINCT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '11' THEN A.INVOICE_NO ELSE NULL END)) AS NOV11_INV_COUNT
     , COUNT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '11' THEN A.INVOICE_NO ELSE NULL END) AS NOV11_INV_LINES
-- DEC 11     
     , COUNT(DISTINCT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '12' THEN A.ORDER_NO ELSE NULL END)) AS DEC11_ORDERS
     , COUNT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '12' THEN A.ORDER_NO ELSE NULL END) AS DEC11_LINES
     , COUNT(DISTINCT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '12' THEN A.INVOICE_NO ELSE NULL END)) AS DEC11_INV_COUNT
     , COUNT(CASE WHEN TO_CHAR(A.INVDATE,'MM') = '12' THEN A.INVOICE_NO ELSE NULL END) AS DEC11_INV_LINES

FROM test.test1 A 
WHERE TO_DATE(A.INVDATE) BETWEEN TO_DATE('01-OCT-11') AND TO_DATE('30-SEP-12')
AND COMPANY = '30'
AND CUST_GRP IN ('3','4')
GROUP BY A.NAME 

ARQUIVO DE SAÍDA :Arquivo de saída atual

SAÍDA DESEJADA Formato de saída ideal

Para a saída desejada, todas as colunas devem sercounts

Obrigado!

oracle select
  • 1 respostas
  • 39 Views
Martin Hope
Hector
Asked: 2015-12-01 13:50:40 +0800 CST

Vários critérios para incluir/excluir linhas

  • 0

ATUALIZAÇÃO DE ESCLARECIMENTO

Infelizmente, reportamos com base no aplicativo e no banco de dados de terceiros, portanto, não podemos modificar os tipos de dados, pois não os possuímos.

Para ajudar a esclarecer, Este relatório basicamente nos mostra todos os ORDERSque não possuem status '80' e '90' que são pedidos 'concluídos' em nosso sistema.

O gerente de operações gostaria que o relatório nos mostrasse todos os pedidos que também têm um status de 80 ou 90, mas apenas se ele mudou recentemente para esse status de pedido em 7 minutos. Se você notou na consulta, tentei criar uma consulta na linha de seleção que mostrará os tempos decorridos desde que o status foi alterado (estou fazendo isso comparando a CONSOL_END_TIMEcoluna vs. CURRENT_TIMESTAMP)

Eu basicamente gostaria que o relatório pegasse TODOS ORDER_NOentre 20-70e apenas '80' e '90' se consol_end_timefosse apenas 7 minutos antes do current_timestamp.

Espero ter ajudado, se precisar de mais esclarecimentos, por favor avise. Atualizei a consulta para mostrar melhor o que estou tentando realizar.

SELECT * 
     , SUBSTRING(PM.SHIP_TIME, 1, 2)+':'+SUBSTRING(PM.SHIP_TIME, 3, 2)+':'+RIGHT(PM.SHIP_TIME, 2) AS MANIFEST_TIME
     , CONVERT(VARCHAR(8),CURRENT_TIMESTAMP,114) AS CURR_TIME
     , DATEDIFF(MINUTE,SUBSTRING(H.CONSOL_END_TIME, 1, 2)+':'+SUBSTRING(H.CONSOL_END_TIME, 3, 2)+':'+RIGHT(H.CONSOL_END_TIME, 2),CONVERT(VARCHAR(8),CURRENT_TIMESTAMP,114)) AS MINS_ELAPSED  
FROM PK_HEADER H 
            JOIN PK_SHIPPING S ON H.ORDER_NUM = S.ORDER_NUM 
            LEFT OUTER JOIN CARRIER_CFG C ON S.SERVICE_CODE = C.SERVICE_CODE 
            LEFT OUTER JOIN ROUTING_PACK R ON H.ROOT_CNTNR = R.CNTNR_ID 
            LEFT OUTER JOIN PK_MANIFEST PM ON (H.ORDER_NUM = PM.ORDER_NUM) -- JUST JOIN TO THE MANIFEST TABLE TO GET THE TIME IT WAS MANIFESTED
WHERE CUST_NUM = @CUSTOMER 
        AND @SERVICE = S.SERVICE_CODE
        AND @ADD1 = S.SHIP_ADDRESS_1
        AND @ZIP = S.SHIP_POSTAL_CODE
        AND (H.ORDER_STATUS BETWEEN 20 AND 70 
             OR (H.ORDER_STATUS IN ('80','90'))) 
        OR SUM(DATEDIFF(MINUTE,SUBSTRING(H.CONSOL_END_TIME, 1, 2) +':'+SUBSTRING(H.CONSOL_END_TIME, 3, 2)+':'+RIGHT(H.CONSOL_END_TIME, 2),CONVERT(VARCHAR(8),CURRENT_TIMESTAMP,114)) < '7')
        AND H.LARGE_ORDER = 'Y' 
        AND CREATION_DATE > 20120701 


ORDER BY 
     H.LARGE_ORDER DESC
    ,H.ORDER_STATUS ASC
    ,H.ASSOC_DATE ASC
    ,H.ASSOC_TIME ASC

A PERGUNTA ORIGINAL ANTES DE QUALQUER MODIFICAÇÃO

declare @customer char(18) 
declare @service char(18)
declare @add1 char(40)
declare @zip char(18)


select top 1 @customer = cust_num, @service = s.service_code , @add1 = S.SHIP_ADDRESS_1, @zip = S.SHIP_POSTAL_CODE
FROM PK_HEADER H JOIN PK_LINE L on H.order_num = L.order_num JOIN PK_SHIPPING S ON H.ORDER_NUM = S.ORDER_NUM LEFT OUTER JOIN CARRIER_CFG C ON S.SERVICE_CODE = C.SERVICE_CODE LEFT OUTER JOIN ROUTING_PACK R ON H.ROOT_CNTNR = R.CNTNR_ID 
where L.PKG_ID = '{?Package}'

select * FROM PK_HEADER H /* JOIN PK_LINE L on H.order_num = L.order_num */ JOIN PK_SHIPPING S ON H.ORDER_NUM = S.ORDER_NUM LEFT OUTER JOIN CARRIER_CFG C ON S.SERVICE_CODE = C.SERVICE_CODE LEFT OUTER JOIN ROUTING_PACK R ON H.ROOT_CNTNR = R.CNTNR_ID 
where cust_num  = @customer and @service = s.service_code and @add1 = S.SHIP_ADDRESS_1 and @zip = S.SHIP_POSTAL_CODE and H.ORDER_STATUS BETWEEN 20 AND 70 and h.large_order = 'Y' and creation_date > 20120701


ORDER BY H.LARGE_ORDER DESC, H.ORDER_STATUS asc, H.ASSOC_DATE ASC, H.ASSOC_TIME ASC



INSERT INTO DATA
INSERT INTO [dbo].[PK_HEADER]
           ([ORDER_NUM]
           ,[COMPANY_CODE]
           ,[CUST_NUM]
           ,[CREATION_DATE]
           ,[CREATION_TIME]
           ,[DUE_DATE]
           ,[DUE_TIME]
           ,[ORDER_PRIORITY]
           ,[ORDER_STATUS]
           ,[ASSIGNMENT_ZONE_NUM]
           ,[ON_HOLD]
           ,[ORDER_CANCEL]
           ,[ROOT_CNTNR]
           ,[PICK_CONSOL]
           ,[HAD_BKORDER]
           ,[MISS_INV]
           ,[SUPERVISOR_AUTH]
           ,[INCOMPLETE_INS]
           ,[CONSOL_ROUTING]
           ,[CONSOL_ST_DATE]
           ,[CONSOL_ST_TIME]
           ,[CONSOL_END_DATE]
           ,[CONSOL_END_TIME]
           ,[SPECIAL_HANDL]
           ,[ELAPSED_PACK_TIME]
           ,[SHIP_CNTNR_PREV]
           ,[SHIP_CNTNR_TOTAL]
           ,[MANF_CNTNR_TOTAL]
           ,[ORDER_EXPORT]
           ,[ORDER_TYPE]
           ,[WAVE_TYPE]
           ,[WAVE_ID]
           ,[ORIG_ORDER_PRIORITY]
           ,[ORDER_VALUE]
           ,[ORDER_WEIGHT]
           ,[LARGE_ORDER]
           ,[PROD_SUBSTN_OVERRIDE]
           ,[ASSOC_DATE]
           ,[ASSOC_TIME]
           ,[TRAILER_SEQ]
           ,[HOST_ORDER_NUM]
           ,[HOST_ORDER_NUM_2]
           ,[HOST_OP]
           ,[TRAILER_ROUTE]
           ,[DESTINATION]
           ,[HOLD_REASON]
           ,[CANCEL_REASON])
     VALUES
           (<ORDER_NUM, char(25),>
           ,<COMPANY_CODE, char(15),>
           ,<CUST_NUM, char(15),>
           ,<CREATION_DATE, char(8),>
           ,<CREATION_TIME, char(6),>
           ,<DUE_DATE, char(8),>
           ,<DUE_TIME, char(6),>
           ,<ORDER_PRIORITY, numeric(18,0),>
           ,<ORDER_STATUS, smallint,>
           ,<ASSIGNMENT_ZONE_NUM, char(3),>
           ,<ON_HOLD, char(1),>
           ,<ORDER_CANCEL, char(1),>
           ,<ROOT_CNTNR, char(25),>
           ,<PICK_CONSOL, char(1),>
           ,<HAD_BKORDER, char(1),>
           ,<MISS_INV, char(1),>
           ,<SUPERVISOR_AUTH, char(1),>
           ,<INCOMPLETE_INS, int,>
           ,<CONSOL_ROUTING, char(1),>
           ,<CONSOL_ST_DATE, char(8),>
           ,<CONSOL_ST_TIME, char(6),>
           ,<CONSOL_END_DATE, char(8),>
           ,<CONSOL_END_TIME, char(6),>
           ,<SPECIAL_HANDL, char(3),>
           ,<ELAPSED_PACK_TIME, numeric(18,0),>
           ,<SHIP_CNTNR_PREV, int,>
           ,<SHIP_CNTNR_TOTAL, int,>
           ,<MANF_CNTNR_TOTAL, int,>
           ,<ORDER_EXPORT, char(1),>
           ,<ORDER_TYPE, smallint,>
           ,<WAVE_TYPE, smallint,>
           ,<WAVE_ID, char(20),>
           ,<ORIG_ORDER_PRIORITY, numeric(18,0),>
           ,<ORDER_VALUE, real,>
           ,<ORDER_WEIGHT, real,>
           ,<LARGE_ORDER, char(1),>
           ,<PROD_SUBSTN_OVERRIDE, smallint,>
           ,<ASSOC_DATE, char(8),>
           ,<ASSOC_TIME, char(6),>
           ,<TRAILER_SEQ, int,>
           ,<HOST_ORDER_NUM, char(30),>
           ,<HOST_ORDER_NUM_2, char(30),>
           ,<HOST_OP, char(10),>
           ,<TRAILER_ROUTE, char(30),>
           ,<DESTINATION, char(20),>
           ,<HOLD_REASON, char(3),>
           ,<CANCEL_REASON, char(3),>)
GO
sql-server sql-server-2005
  • 1 respostas
  • 124 Views
Martin Hope
Hector
Asked: 2015-10-03 10:52:56 +0800 CST

Como carregar o arquivo do Excel na tabela temporária no ORACLE

  • 0

É possível carregar um arquivo Excel com os cabeçalhos em uma tabela temporária no Oracle?

Eu uso TOAD para a interface.

Estou precisando fazer uma comparação em um arquivo excel com o que temos em nosso banco de dados. Infelizmente, os dados que estão no arquivo Excel NÃO estão em nosso banco de dados, mas para que eu possa relatar os dados, preciso trazê-los para comparação.

Isso é factível? Em caso afirmativo, qual seria a abordagem apropriada para isso?

oracle temporary-tables
  • 1 respostas
  • 6240 Views
Martin Hope
Hector
Asked: 2015-10-02 08:14:33 +0800 CST

Priorizando valores na instrução select no ORACLE

  • 0

Devido ao JOINmétodo de comunicação (telefone, e-mail, etc.), recebemos muitas duplicatas porque uma empresa pode ter vários métodos de comunicação (CICM.CLIENT_VALUE).

Minha pergunta é... Existe uma maneira de incorporar na instrução select para where if out of the client_Valuefield, se o valor = EMAIL & Phone então puxe apenas EMAIL para isso CUSTOMER_ID, se eles não tiverem e-mail e apenas telefone, puxe telefone

No momento, posso ter CUSTOMER_ID= 1 e ter 2 registros com os mesmos dados, mas client_valueserão diferentes porque eles têm um e-mail e um telefone, portanto, estou recebendo 2 registros retornados em vez de priorizar 1 sobre o outro.

Aqui está uma imagem para mostrar o que estou fazendo referência... você pode ver que todos os campos apagados têm o mesmo valor em ambos os registros, mas o contact_type e o valor são diferentes. Gostaria de priorizar e escolher TELEFONE em vez de E-MAIL, se disponível, e não obter AMBOS para reduzir a contagem de retorno de registros...

exemplo de resultados

Se isso precisar de esclarecimentos, por favor, avise.

SELECT DISTINCT INV.CUSTOMER_ID
     , INV.ADDRESS_ID
     , INV.NAME
     , INV.ADDRESS1
     , INV.ADDRESS2
     , INV.CITY
     , INV.STATE
     , INV.ZIP_CODE
     , INV.COUNTRY
     , CICM.CLIENT_VALUE as CONTACT_TYPE
     , CICM.VALUE
     , CICM.DESCRIPTION
     , INV.REGION_CODE
     , INV.SITE
     , LD.LSTINVDATE
     , CASE WHEN TO_DATE(INV.INVDATE) BETWEEN TO_DATE('01-Oct-13') AND TO_DATE('30-Sep-15') THEN SUM(INV.SALES) ELSE 0 END AS TWO_YEARS
     , CASE WHEN TO_DATE(INV.INVDATE) BETWEEN TO_DATE('01-Oct-15') AND SYSDATE THEN SUM(INV.SALES) ELSE 0 END AS SALESPROGRESS
     , SUM(INV.SALES) AS TOTALSALES
FROM IFSINFO.HB_INVOICING_ALL INV 
LEFT JOIN IFSINFO.HB_LAST_INVOICE_DATE LD 
    ON (INV.COMPANY = LD.COMPANY) 
    AND (INV.CUSTOMER_ID = LD.IDENTITY)
LEFT JOIN IFSAPP.CUSTOMER_INFO_COMM_METHOD CICM
    ON (INV.ADDRESS_ID = CICM.ADDRESS_ID)
    AND (INV.CUSTOMER_ID = CICM.CUSTOMER_ID)
WHERE INV.CUST_GRP = '4'
AND INV.COMPANY = '20'
AND INV.STATE = '&State'
GROUP BY INV.COMPANY
       , INV.CUSTOMER_ID
       , INV.ADDRESS_ID
       , INV.NAME
       , INV.ADDRESS1
       , INV.ADDRESS2
       , INV.CITY
       , INV.STATE
       , INV.ZIP_CODE
       , INV.COUNTRY
       , CICM.CLIENT_VALUE
       , CICM.VALUE
       , CICM.DESCRIPTION
       , INV.REGION_CODE
       , INV.SITE
       , LD.LSTINVDATE  
       , INV.INVDATE

HAVING SUM(CASE WHEN INV.INVDATE >= TO_DATE('01-Oct-13')
                 AND INV.INVDATE < TO_DATE('30-Sep-15')
             THEN INV.SALES ELSE 0 
           END) = 0
oracle select
  • 1 respostas
  • 276 Views
Martin Hope
Hector
Asked: 2015-10-01 10:43:37 +0800 CST

Erro HAVING STATEMENT comando SQL não finalizado corretamente

  • 0

Atualizei esta pergunta porque fiz progressos, minha HAVINGdeclaração ainda não está funcionando corretamente. estou conseguindo ORA-00933: SQL command not properly ended..

Eu acredito que é minha HAVINGcláusula. Alguma ideia?

RECAPITULAÇÃO :

Estou tentando capturar o progresso dos clientes que não tiveram atividade de compra entre 2013-2015 e rastrear sua atividade de compra de outubro de 2015 em diante para rastrear a atividade do vendedor.

SELECT INV.COMPANY
     , INV.CUSTOMER_ID
     , INV.ADDRESS_ID
     , INV.NAME
     , INV.ADDRESS1
     , INV.ADDRESS2
     , INV.CITY
     , INV.STATE
     , INV.ZIP_CODE
     , INV.COUNTRY
     , CICM.CLIENT_VALUE as contact_type
     , CICM.VALUE
     , CICM.DESCRIPTION
     , INV.REGION_CODE
     , INV.SITE
     , LD.LSTINVDATE
     , CASE WHEN TO_DATE(INV.INVDATE) BETWEEN TO_DATE('01-Oct-13') AND TO_DATE('30-Sep-15') THEN SUM(INV.SALES) ELSE 0 END AS TWO_YEARS
     , CASE WHEN TO_DATE(INV.INVDATE) BETWEEN TO_DATE('01-Oct-15') AND SYSDATE THEN SUM(INV.SALES) ELSE 0 END AS PROGRESS
     , SUM(INV.SALES) AS SLSAMNT

FROM IFSINFO.HB_INVOICING_ALL INV 
LEFT JOIN IFSINFO.HB_LAST_INVOICE_DATE LD 
    ON (INV.COMPANY = LD.COMPANY) 
    AND (INV.CUSTOMER_ID = LD.IDENTITY)
LEFT JOIN IFSAPP.CUSTOMER_INFO_COMM_METHOD CICM
    ON (INV.ADDRESS_ID = CICM.ADDRESS_ID)
    AND (INV.CUSTOMER_ID = CICM.CUSTOMER_ID)
WHERE INV.CUST_GRP = '4'
AND INV.COMPANY = '20'
HAVING SUM(INV.INVDATE) BETWEEN TO_DATE('01-Oct-13') AND TO_DATE('30-Sep-15') = 0
--HAVING MAX(LD.LSTINVDATE) < (SYSDATE - INTERVAL '2' YEAR)     
GROUP BY INV.COMPANY
       , INV.CUSTOMER_ID
       , INV.ADDRESS_ID
       , INV.NAME
       , INV.ADDRESS1
       , INV.ADDRESS2
       , INV.CITY
       , INV.STATE
       , INV.ZIP_CODE
       , INV.COUNTRY
       , CICM.CLIENT_VALUE
       , CICM.VALUE
       , CICM.DESCRIPTION
       , INV.REGION_CODE
       , INV.SITE
       , LD.LSTINVDATE  
       , INV.INVDATE
oracle
  • 1 respostas
  • 1018 Views
Martin Hope
Hector
Asked: 2015-09-30 13:46:30 +0800 CST

Como filtrar as vendas para encontrar clientes que não compraram nos últimos 2 anos

  • 1

O que estou tentando realizar é encontrar todos os clientes que fizeram vendas no passado, mas não compraram de nós nos últimos 2 anos(SYSDATE - INTERVAL '2' YEAR)

Aqui está o meu código atualmente.

select invc.company
 , invc.customer_id
 , to_char(invc.invdate, 'mm/dd/yyyy') as date
 , invc.name
 , invc.address1
 , invc.address2
 , invc.city
 , invc.state
 , invc.zip_code
 , invc.country
 , invc.region_code
 , invc.site
 , sum(invc.sales) as SlsAmnt
from ifsinfo.hb_invoicing_all invc
where **THIS IS THE PART IM STUCK AT**
group by invc.company
           , invc.customer_id
           , invc.creation_date
           , invc.name
           , invc.address1
           , invc.address2
           , invc.city
           , invc.state
           , invc.zip_code
           , invc.country
           , invc.region_code
           , invc.site

Estou basicamente procurando uma consulta que retorne uma lista de clientes que não compram conosco há 2 anos ou mais.

SUM(SALES) = 0nos últimos 2 anos+

oracle sum
  • 1 respostas
  • 46 Views
Martin Hope
Hector
Asked: 2015-09-23 12:26:11 +0800 CST

SQL Server 2008 tendo problemas com a cláusula HAVING

  • 1

Tenho uma pergunta sobre um relatório que estou escrevendo no momento.

Eu preciso que esta consulta mostre apenas itens de linha que tenham <-5 como mins_elapse

Aqui está o código. Deixei de fora a FROMcláusula para evitar formas de identidade comercial.

select 
    H.ORDER_NUM
    ,H.CUST_NUM
    ,H.CREATION_DATE
    ,H.DUE_DATE
    ,H.ORDER_PRIORITY
    ,H.ORDER_STATUS
    ,H.ORDER_TYPE
    ,H.TRAILER_ROUTE
    ,S.SHIP_ADDRESS_1
    ,S.SHIP_CITY
    ,S.SHIP_STATE
    ,S.SHIP_COUNTRY
    ,S.SHIP_POSTAL_CODE
    ,C.SERVICE_CODE
    ,C.CODE_TEXT
    ,SUBSTRING(pm.ship_time, 1, 2) + ':' + SUBSTRING(pm.ship_time, 3, 2) + ':' + RIGHT(pm.ship_time, 2) as manifest_time
    ,CONVERT(varchar(8), CURRENT_TIMESTAMP, 114) as curr_time
    ,--determine the difference between when the order was manifested and the current time and use it in the WHERE clause below
    DATEDIFF(MINUTE, SUBSTRING(pm.ship_time, 1, 2) + ':' + SUBSTRING(pm.ship_time, 3, 2) + ':' + RIGHT(pm.ship_time, 2), convert(varchar(8), current_timestamp, 114)) as mins_elapsed
where 
    cust_num = @customer `
    and @service = s.service_code
    and @add1 = S.SHIP_ADDRESS_1
    and @zip = S.SHIP_POSTAL_CODE
    and H.ORDER_STATUS between 20
        and 90
    and DATEDIFF(MINUTE, SUBSTRING(pm.ship_time, 1, 2) + ':' + SUBSTRING(pm.ship_time, 3, 2) + ':' + RIGHT(pm.ship_time, 2), convert(varchar(8), current_timestamp, 114)) <= 5
    and h.large_order = 'Y' `
    and creation_date > 20120701 `
group by 
    H.ORDER_NUM
    ,H.CUST_NUM
    ,H.CREATION_DATE
    ,H.DUE_DATE
    ,H.ORDER_PRIORITY
    ,H.ORDER_STATUS
    ,H.ORDER_TYPE
    ,H.TRAILER_ROUTE
    ,PM.SHIP_TIME
    ,S.SHIP_ADDRESS_1
    ,S.SHIP_CITY
    ,S.SHIP_STATE
    ,S.SHIP_COUNTRY
    ,S.SHIP_POSTAL_CODE
    ,C.SERVICE_CODE
    ,C.CODE_TEXT
    ,H.LARGE_ORDER
    ,H.ASSOC_DATE
    ,H.ASSOC_TIME`
having 
    DATEDIFF(MINUTE, SUBSTRING(pm.ship_time, 1, 2) + ':' + SUBSTRING(pm.ship_time, 3, 2) + ':' + RIGHT(pm.ship_time, 2), convert(varchar(8), current_timestamp, 114)) <= 5
order by 
    H.LARGE_ORDER desc
    ,H.ORDER_STATUS asc
    ,H.ASSOC_DATE asc
    ,H.ASSOC_TIME asc

manifest_time

sql-server sql-server-2008-r2
  • 2 respostas
  • 349 Views
Martin Hope
Hector
Asked: 2015-09-11 10:57:16 +0800 CST

Convertendo CHAR para DATETIME para que eu possa usar DATEADD ()

  • 6

Tenho uma dúvida em relação ao uso de uma DATEADD()função para uma coluna identificada comoCHAR (6)

A time_stampcoluna contém valores 131329como hhmmss. Sempre que tento criar uma nova coluna que manterá o valor da time_stampcoluna + 5 minutos, recebo um erro.

Msg 242, Nível 16, Estado 3, Linha 1
A conversão de um tipo de dados char em um tipo de dados datetime resultou em um valor datetime fora do intervalo.`

O que estou tentando fazer é criar uma nova coluna 5 minutos à frente do arquivo time_stamp. Estou trabalhando em um relatório agora que mostra 'pedidos concluídos', mas preciso que o relatório mantenha o pedido como NÃO CONCLUÍDO por pelo menos 5 minutos antes de aparecer no relatório como Concluído.

sql-server t-sql
  • 1 respostas
  • 1041 Views
Martin Hope
Hector
Asked: 2015-08-11 11:16:32 +0800 CST

Analisando o campo date_entered para capturar TIME 'hh:mm:ss' com base no intervalo de tempo

  • 1

Com base na coluna date_entered, que é um data_type de 'DATE', como eu analisaria os dados para extrair o tempo.

Os valores no DATE_ENTEREDcampo ( DATA_TYPEis DATE) ficam assim5/15/2015 8:43:04 PM

Eu preciso executar consultas com base em quando DATE_ENTEREDé between 05/15/2015 8:00 AMe05/15/2015 10:00 AM

Em seguida, preciso incorporar isso a um script PL/SQL que será executado a cada 2 horas com as últimas duas horas como filtro. Minha melhor explicação para isso seria onde ele pega a data e a hora atuais e retrocede 2 horas, a cada 2 horas. Isso permitirá que ele seja executado às 8h, 10h, 12h, 14h etc e tenha as últimas 2 horas de novas entradas na consulta. Por exemplo, o tempo de execução das 10h incluirá resultados para itens inseridos das 8h às 10h

oracle plsql
  • 1 respostas
  • 60 Views
Martin Hope
Hector
Asked: 2015-07-15 07:49:24 +0800 CST

SQL Spool ARQUIVO SQLPLUS BATCH ARQUIVO

  • 1
*/

SET colsep ';'
SET TERMOUT OFF
SET NEWPAGE 0
SET SPACE 0
SET LINESIZE 800
SET PAGESIZE 0
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF
SET NUMW 20

column timecol new_value timestamp
column spool_extension new_value suffix
SELECT '.csv' spool_extension
FROM dual;
/

SPOOL \\SERVERNAME\FOLDER\FOLDER\FOLDER...ETC\InternationalReport&&suffix
@@"C:\FOLDER\FOLDER\International_report\International";
/
Exit;

Atualmente, ele fará o spool do arquivo .csv, mas preciso que ele tenha uma saída de InternationalReportyyyymmdd.csv

Alguma ideia de como exatamente configurar isso? Obrigado!

oracle sqlplus
  • 1 respostas
  • 1385 Views
Martin Hope
Hector
Asked: 2015-06-27 06:52:29 +0800 CST

Imprimindo comentários ou instruções ao executar script em um arquivo de saída usando TOAD/ORACLE

  • 2

Vindo de um ambiente SQL SSMS, gostaria de duplicar o Printcomando deles, que permite imprimir comandos ou variáveis ​​durante a execução de uma consulta. Estou procurando esse recurso para ajudar a identificar seções específicas do script durante a execução.

Por exemplo, temos um script .sql executado à noite que verifica discrepâncias em números de inventário específicos. Esses números de inventário têm, digamos, um store_idde 1, 2, 3, 4, 5.

O script tem uma instrução select anexada a cada um deles store_id. Eu gostaria de poder colocar uma PRINTinstrução para a instrução select de Store_ID1 para que eu possa ver o arquivo output.txt e ver o título ' Store_id 1" depois os números de inventário, depois ver o título " Store_id 2" etc ...

no MSSQL SSMS, gostaria de algo assim

PRINT 'Searching Inventory Discrepancies at Store 1'
Select * from table1 where store_id = '1' etc...

PRINT 'Searching Inventory Discrepancies at Store 2'
Select * from table1 where store_id = '2' etc...

Se eu precisar esclarecer por favor avise, obrigado!

oracle ssms
  • 3 respostas
  • 29283 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