sql >> Database teknologi >  >> RDS >> SQLite

Data bliver udfyldt fra en bestemt tabels dato i stedet for alle tabeller i sqlite

Prøv nedenstående.

Det, jeg har gjort, er at lave en virtuel tabel, der indeholder unikke måneder. Hvortil der er info i en af ​​de 3 tabeller for den måned. Så er beløbene bundet til den måned.

Jeg har også fjernet ORDER BY i SUM klausuler, da de ikke ændrer resultatet. Din IFNULL kan også ændres, afhængigt af hvordan du forventer, at det fungerer.

Denne metode sparer dig for at skrive 3 partier SUM for hver 3 felter (9 SUM). Hvis der er stavefejl, bedes du rette i overensstemmelse hermed.

BEMÆRK at month er et nøgleord i nogle SQL. Så ideelt set bør et bedre kolonnenavn bruges.

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. Hvordan konfigurerer man postgresql for første gang?

  2. Sådan starter du PostgreSQL Server på Mac OS X via Homebrew

  3. Installation af Ubuntu 18.04 til SQL Server 2019 på virtuel maskine ved hjælp af VMware Workstation

  4. Brug af SqlParameter i SQL LIKE-klausul virker ikke