sql >> Databáze >  >> Database Tools >> SSMS

Jak načíst data ze serveru SQL na základě níže uvedeného příkladu?

Možná můžete použít řešení jako nížeViz pracovní demo

declare @d date='2018-Jun-03'

; with Indexer as 
(
    select 
        *, 
        rn= row_number() over(partition by CustName order by RecordedTime),
        rn2=row_number() over(partition by CustName order by RecordedTime desc)
    from records
)
,GetValidCustomerRecords as
(
    select 
        CustName,
        Country,
        RecordedTime,
        Audit   = case when cast(RecordedTime as date)[email protected] and rn=1 then 'add' else 'change' end,
        History = case 
                    when cast(RecordedTime as date)[email protected] and rn=1 
                    then 'new' 
                    when cast(RecordedTime as date)<@d and rn=1 
                    then 'before'
                    else 'current' end
    from Indexer i 
    where CustName in
    (
    select 
        distinct CustName 
    from records
    where cast(RecordedTime as date)[email protected]
    ) 
    and (rn=1 or rn2=1) and cast(RecordedTime as date)<[email protected]
)

select * from GetValidCustomerRecords
order by CustName, RecordedTime



  1. Odebrat datum/čas ve skriptu SQL generovaném pomocí SSMS?

  2. Najděte časový rozdíl mezi dvěma po sobě jdoucími řádky ve stejné tabulce v SQL

  3. Vyhledávání v databázi pomocí PhpMyAdmin

  4. Nepodařilo se vytvořit port ipc; přístup je v MySQL Workbench odepřen