मेरे पास 2 टेबल हैं जिन्हें मुझे दिनांक और 2 मानों के आधार पर एक साथ जोड़ने की आवश्यकता है।माइस्क्ल यूनियन और ग्रुप द्वारा
यह मुझे सभी जानकारी की सूची देता है - ठीक है।
$query = (SELECT date, debit, credit , note FROM proj3_cash)
UNION
(SELECT settle, purch, sale, issue FROM proj3_trades)
ORDER BY date";
अब मुझे दो तालिकाओं से दैनिक योग के लिए जानकारी को ग्रुप करने की आवश्यकता है।
$query = "(SELECT date, SUM(debit), SUM(credit)FROM proj3_cash GROUP BY date)
UNION
(SELECT settle as date, SUM(purch) as debit, SUM(sale) as credit FROM proj3_trades GROUP BY date)
ORDER BY date";
ठीक है, लेकिन अगर वहाँ प्रत्येक तालिका में एक ही तिथि पर कुछ है मैं इस मिल:
date SUM(debit) SUM(credit)
--------------------------------------
2010-12-02 0.00 170.02
2010-12-02 296449.91 233111.10
मैं कैसे समूह में एक ही दिन में दो करते हैं?
यदि मैं अंत में ग्रुप बाय जोड़ता हूं - मुझे केवल एक त्रुटि मिलती है। या यह एक जॉइन के साथ किया जाना चाहिए?
SELECT date, SUM(debit), SUM(credit)
FROM
(
SELECT date, debit, credit
FROM proj3_cash
UNION ALL
SELECT settle as date,
purch as debit,
sale as credit
FROM proj3_trades
) derivedTable
GROUP BY date
ORDER BY date
मैं संघ को यूनिअन बदल दिया है सभी क्योंकि संघ दोनों तालिकाओं में पाया डुप्लिकेट को निकाल देगा: