IIUC, tabel rosterusers
hanya-baca dari POV eJabberd
Anda aplikasi server. Ini akan membuatnya sederhana, untuk menggantinya dengan view
, yang membuat 2 baris dari 1 baris yang dibutuhkan di tabel teman Anda sendiri.
Tidak mengetahui struktur tabel pertemanan Anda sendiri, saya tidak dapat memberikan kode lengkapnya, tetapi inilah yang saya anggap sebagai pseudo-SQL
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 ...
);
lalu
SELECT
username, jid, subscription, ask, server, type
FROM rosterusers
WHERE jid_as_id='[email protected]'
akan memberi Anda 2 baris, satu dari setiap bagian UNION
di Tampilan