SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Dane są wypełniane na podstawie daty określonej tabeli zamiast wszystkich tabel w sqlite

Wypróbuj poniższe.

Udało mi się stworzyć wirtualny stół, zawierający wyjątkowe miesiące. Do którego są informacje w jednej z 3 tabel dla tego miesiąca. Następnie kwoty są powiązane z tym miesiącem.

Usunąłem również ORDER BY w SUM klauzul, ponieważ nie zmieniają wyniku. Twój IFNULL można również zmienić, w zależności od tego, jak oczekujesz, że będzie działać.

Ta metoda pozwala zaoszczędzić na wypisywaniu 3 partii SUM dla każdych 3 pól (9 SUM). Jeśli są jakieś literówki, napraw je odpowiednio.

PAMIĘTAJ, że month jest słowem kluczowym w niektórych SQL. Dlatego najlepiej byłoby użyć lepszej nazwy kolumny.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zaimplementować bazę danych SQLite do przechowywania obrazu bitmapowego i tekstu?

  2. Android:Wstawianie zbiorcze, gdy funkcja InsertHelper jest przestarzała

  3. 2 sposoby na zwrócenie uniksowego znacznika czasu w SQLite

  4. Samouczek dotyczący zapisywania danych w usłudze Android.com w bazach danych SQL

  5. ListView nie pokazuje poprawnych obrazów, które można rysować zgodnie z ich nazwą w sqlite