यदि दोनों तालिकाओं के स्तंभ समान हैं, तो आप UNION का उपयोग कर सकते हैं
SELECT X.*
FROM ( SELECT `id`,
`userID`,
'INVOICE' AS PTYPE
`amount`,
`date`
FROM `invoices`
WHERE {$userID} = userID
UNION
SELECT `id`,
`userID`,
'PAYMENT' AS PTYPE
`amount`,
`date`
FROM `payments`
WHERE {$userID} = userID
) X
ORDER BY X.`date`
संपादित करें
MySQL मैन्युअल का प्रासंगिक अनुभाग पढ़ें यूनियनों पर। इसे वाक्यांशबद्ध करने के अन्य तरीके हैं, लेकिन यह मेरी पसंदीदा शैली है - यह पढ़ने वाले किसी भी व्यक्ति के लिए स्पष्ट होना चाहिए कि ORDER BY खंड दोनों के परिणाम पर लागू होता है संघ के पक्ष। एक लापरवाही से लिखा गया UNION - यहां तक कि ORDER BY के साथ भी - अभी भी अनिश्चित क्रम में अंतिम परिणाम छोड़ सकता है।
PTYPE का उद्देश्य यह है कि यह क्वेरी PTYPE नामक एक अतिरिक्त कॉलम लौटाती है, जो इंगित करता है कि प्रत्येक व्यक्तिगत पंक्ति एक चालान है या एक भुगतान... यानी। यह दो तालिकाओं में से किससे आता है। यह अनिवार्य नहीं है, लेकिन संघ के भीतर अक्सर उपयोगी हो सकता है