sql >> Database >  >> RDS >> Sqlserver

SQL Server:selecteer de nieuwste rijen waarvan de som overeenkomt met een waarde

Declare @YourTable table (ID int,QTY int,DATE varchar(25), CURRENT_STOCK int)
Insert Into @YourTable values
(1     ,1      ,'Jan'     ,30),
(2     ,1      ,'Feb'     ,30),
(3     ,2      ,'Mar'     ,30),
(4     ,6      ,'Apr'     ,30),
(5     ,8      ,'May'     ,30),
(6     ,21     ,'Jun'     ,30)


Select A.*
 From  @YourTable A
 Where ID>= (
                Select LastID=max(ID)
                 From  @YourTable A
                 Cross Apply (Select RT = sum(Qty) from @YourTable where ID>=A.ID) B
                 Where B.RT>=CURRENT_STOCK
             )

Retourneren

ID  QTY DATE    CURRENT_STOCK
4   6   Apr     30
5   8   May     30
6   21  Jun     30


  1. MySQL NIET IN-query

  2. Hoe MySQL onder XAMPP te configureren om met IPv6 te werken

  3. FOUT 1305 (42000):SAVEPOINT ... bestaat niet

  4. Is het veilig om leesbare wachtwoorden *tijdelijk* in MySQL op te slaan?