IIUC、テーブルrosterusers
eJabberd
のPOVから読み取り専用です サーバーアプリ。これにより、view
に置き換えるのが簡単になります 、これにより、自分の友達テーブルの1行から必要な2行が作成されます。
あなた自身の友情テーブルの構造を知らないので、私はあなたに完全なコードを与えることはできませんが、これが私が疑似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 ...
);
そして
SELECT
username, jid, subscription, ask, server, type
FROM rosterusers
WHERE jid_as_id='[email protected]'
UNION
の各部分から1つずつ2行を表示する必要があります ビュー内