यदि मौजूदा प्रश्न वही करते हैं जो आप चाहते/चाहते हैं, UNION
उन्हें संयोजित करना बहुत आसान बना देगा, कुछ इस तरह;
SELECT * FROM (
SELECT is_private 0, <field1>,<field2>,<field3>, ... ,(SELECT COUNT(*)
FROM votes
WHERE message_id = m.message_id
AND vote_type = 'like') AS likes,
(SELECT COUNT(*)
FROM votes
WHERE message_id = m.message_id
AND vote_type = 'dislike') AS dislikes
FROM messages m
WHERE 1 #and hidden is null
and recipient_id = 1
UNION ALL
SELECT 1, <field1>, <field2>, <field3>, ... ,(SELECT COUNT(*)
FROM votes
WHERE message_id = m.message_id
AND vote_type = 'like') AS likes,
(SELECT COUNT(*)
FROM votes
WHERE message_id = m.message_id
AND vote_type = 'dislike') AS dislikes
FROM private_messages m
WHERE 1 #and hidden is null
and recipient_id = 1
)
ORDER BY datetime DESC
ध्यान दें कि संघ के काम करने के लिए आपको दोनों प्रश्नों से समान संख्या/स्तंभों का चयन करना होगा। SELECT *
यह सत्यापित करना कठिन बनाता है कि क्या/वह मामला है। अगर