Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL और ejabberd के साथ कुशल बाहरी रोस्टरिंग

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 . के प्रत्येक भाग से एक दृश्य में




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में उद्धरणों से बचते हुए बैकस्लैश को कैसे बनाए रखें - QUOTE ()

  2. जावा में utf8 के साथ समस्या

  3. सबक्वेरी में दो "WHERE NOT IN" के साथ Laravel Eloquent

  4. MySQL DatedIFF () बनाम TIMEDIFF ():क्या अंतर है?

  5. MySql C++ कनेक्टर getString() सही ढंग से काम नहीं करता है, जबकि getInt पूरी तरह से काम करता है