IIUC, तालिका rosterusers
आपके eJabberd
. के पीओवी से केवल पढ़ने के लिए है सर्वर ऐप। इससे इसे view
. से बदलना आसान हो जाएगा , जो आपकी अपनी मित्र तालिका में 1 पंक्ति में से आवश्यक 2 पंक्ति बनाता है।
आपकी खुद की मैत्री तालिका की संरचना को नहीं जानते, मैं आपको पूरा कोड नहीं दे सकता, लेकिन यहाँ मैंने छद्म-एसक्यूएल के रूप में सोचा था
CREATE VIEW rosterusers AS SELECT * FROM (
SELECT
selfuser.name AS username,
frienduser.jid AS jid,
-- ....,
selfuser.jid AS jid_as_id
FROM
users AS selfuser
INNER JOIN friendships ON ....
INNER JOIN users AS frienduser ON ...
UNION SELECT
frienduser.name AS username,
selfuser.jid AS jid,
-- ....,
frienduser.jid AS jid_as_id
FROM
users AS selfuser
INNER JOIN friendships ON ....
INNER JOIN users AS frienduser ON ...
);
और फिर
SELECT
username, jid, subscription, ask, server, type
FROM rosterusers
WHERE jid_as_id='[email protected]'
आपको 2 पंक्तियाँ देनी चाहिए, UNION
. के प्रत्येक भाग से एक दृश्य में