IIUC, tabellen rosterusers
er skrivebeskyttet fra POV'en på din eJabberd
server app. Dette ville gøre det nemt at erstatte det med en view
, der opretter de nødvendige 2 rækker ud af 1 række i din egen vennetabel.
Da jeg ikke kender strukturen af din egen venskabstabel, kan jeg ikke give dig den fulde kode, men her er, hvad jeg tænkte på som 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 ...
);
og derefter
SELECT
username, jid, subscription, ask, server, type
FROM rosterusers
WHERE jid_as_id='[email protected]'
skulle give dig 2 rækker, en fra hver del af UNION
i visningen