मैं इस प्रश्न से जूझ रहा हूं:
SELECT
case strftime('%m',Expenses.Date)
when '01' then 'January'
when '02' then 'Febuary'
when '03' then 'March'
when '04' then 'April'
when '05' then 'May'
when '06' then 'June'
when '07' then 'July'
when '08' then 'August'
when '09' then 'September'
when '10' then 'October'
when '11' then 'November'
when '12' then 'December'
else ''
end as monthName ,
strftime('%m',Expenses.Date) as monthnum,
SUM(Expenses.Amount),
SUM(Incomes.Amount)
FROM Expenses JOIN Incomes
ON Expenses.UserID = Incomes.UserID
GROUP BY strftime('%m',Expenses.Date), strftime('%m',Incomes.Date)
मैं जो करने की कोशिश कर रहा हूं वह है sum()
कॉलम Amount
से टेबल Expenses
और sum()
कॉलम Amount
से टेबल Incomes
एक क्वेरी में दो अलग-अलग कॉलम के रूप में लेकिन मैं एक त्रुटि के लिए चल रहा हूँ। कृपया अगर कोई मेरी मदद कर सकता है।
2
isra kat
17 पद 2020, 16:47
1 उत्तर
सबसे बढ़िया उत्तर
सभी उपयोगकर्ता आईडी और एक क्वेरी के क्रॉस जॉइन का उपयोग करें जो सभी महीने की संख्या और नाम लौटाता है और फिर बाएं प्रत्येक तालिका में अलग-अलग प्रश्नों में शामिल होता है:
WITH
m(monthnum, monthname) AS (
VALUES ('01', 'January'), ('02', 'Febuary'), ('03', 'March'), ('04', 'April'),
('05', 'May'), ('06', 'June'), ('07', 'July'), ('08', 'August'),
('09', 'September'), ('10', 'October'), ('11', 'November'), ('12', 'December')
),
u AS (
SELECT UserID FROM Expenses
UNION
SELECT UserID FROM Incomes
),
e AS (
SELECT UserID, strftime('%m', Date) AS monthnum, SUM(Amount) Amount
FROM Expenses
GROUP BY UserID, monthnum
),
i AS (
SELECT UserID, strftime('%m', Date) AS monthnum, SUM(Amount) Amount
FROM Incomes
GROUP BY UserID, monthnum
)
SELECT u.UserID, m.monthnum, m.monthname,
COALESCE(e.Amount, 0) expenses_amount,
COALESCE(i.Amount, 0) income_amount
FROM m CROSS JOIN u
LEFT JOIN e ON e.monthnum = m.monthnum AND e.UserID = u.UserID
LEFT JOIN i ON i.monthnum = m.monthnum AND i.UserID = u.UserID
ORDER BY u.UserID, m.monthnum
2
forpas
17 पद 2020, 17:51
संबंधित सवाल
नए सवाल
sqlite
SQLite एक सॉफ्टवेयर लाइब्रेरी है जो एक आत्म निहित, सर्वर रहित, शून्य-कॉन्फ़िगरेशन, ट्रांसेक्शनल SQL डेटाबेस इंजन को लागू करता है।
...FROM Expenses WHERE UserID = ? GROUP BY UserID, monthnum