sql >> Databasteknik >  >> RDS >> SQLite

Data fylls i från en viss tabells datum istället för alla tabeller i sqlite

Prova nedan.

Det jag har gjort är att skapa en virtuell tabell som innehåller unika månader. Till vilken det finns information i en av de 3 tabellerna för den månaden. Då är beloppen bundna till den månaden.

Jag har också tagit bort ORDER BY i SUM klausuler, eftersom de inte ändrar resultatet. Din IFNULL kan också ändras, beroende på hur du förväntar dig att det ska fungera.

Denna metod sparar dig att skriva ut 3 massor av SUMMA för varje 3 fält (9 SUMMA). Om det finns några stavfel, vänligen åtgärda det.

OBS att month är ett nyckelord, i viss SQL. Så helst bör ett bättre kolumnnamn användas.

SELECT month, 
(SELECT IFNULL (SUM(FTL.tradebalanceamount),0 ) 
   FROM farmertradelabel as FTL 
   WHERE FTL.mobileno = '9486032141'  AND strftime('%m-%Y', FTL.tradedate) = month) AS tradeamount,
(SELECT IFNULL (SUM(advanceamount),0)  
   FROM advancelabel 
   WHERE advancelabel.mobileno = '9486032141' AND strftime('%m-%Y', advancelabel.advancedate) = month) AS advanceamount,
(SELECT IFNULL (SUM(loantotalamount),0) 
  FROM loanlabel 
  WHERE loanlabel.mobileno = '9486032141' AND strftime('%m-%Y', loanlabel.loandate) = month) AS loanamount   

FROM
 (SELECT strftime('%m-%Y', tradedate) as 'month' FROM farmertradelabel
 UNION 
   SELECT  strftime('%m-%Y', advancedate) as 'month' FROM advancelabel
 UNION 
   SELECT strftime('%m-%Y', loandate) as 'month' FROM loanlabel
 ) as dateTable



  1. När du använder GETDATE() på många ställen, är det bättre att använda en variabel?

  2. Konfigurera och konfigurera SQL Server-replikering

  3. Hur förfinar man utdata som kommer från SELECT-frågan i kommandotolken?

  4. Hur inloggningar fungerar på länkade servrar (T-SQL-exempel)