sql >> Database >  >> RDS >> Sqlserver

Selecteer SQL-toewijzingsquery

Probeer dit:

;WITH Subtotals
AS
(
  SELECT
    T1.Id, T1.CodeId, SUM(T2.Value) SubTotal  
  FROM Tb1 T1
    JOIN Tb1 T2
       ON T1.CodeId = T2.CodeId
         AND T1.Id >= T2.Id
  GROUP BY T1.Id, T1.CodeId
)
SELECT
    S.ID,
    S.CodeID,
    T1.Value,
    CASE WHEN T2.value >= S.Subtotal
         THEN T1.value
         ELSE T1.value - (S.Subtotal - T2.value)
    END UsedValue,
    T2.Value T2Value
FROM Subtotals S
   JOIN Tb2 T2
      ON S.CodeId = T2.CodeId
   JOIN Tb1 T1
      ON S.Id = T1.Id
WHERE T2.Value >= S.SubTotal - T1.Value

Zie resultaat op SQL FIDDLE



  1. Hoe een java.util.Date op te slaan in een MySQL-tijdstempelveld in de UTC/GMT-tijdzone?

  2. Onbekende kolom 'Extent1.Discriminator' in 'where-clausule'

  3. Fout bij het ophalen van tekst voor fout ORA-01804

  4. Hoe weet ik wanneer de query met succes is uitgevoerd in PHP PDO?