私が取得したい ユーザー{ID、名前、電子メール} 関係{ID、UID、RELID、タイプ}SQL - 条件のために選択されたデータやテーブルを結合する
のようなユーザーとの関係、のためのSQLテーブルを持っていますJOINなどを使用して、すべての "フレンド" ID、名前、電子メール(現在のユーザーIDによる)
参加を使用する場合は、ユーザーのテーブルに参加して関係を選択するか、関係を選択してユーザーに参加する方がよいでしょうか?
(私は今発明し、私はエラーのために残念ビットdiferrent表やコード、使用)のようなもの
1:
SELECT DISTINCT u.ID, u.name, u.email FROM users u JOIN relationships r ON (r.uid = 1 OR r.relid = 1) AND r.type = 1 WHERE u.ID = r.uid OR u.ID = r.relid
2:
SELECT DISTINCT u.ID, u.name, u.email FROM relationships r JOIN users u ON r.uid = u.ID OR r.relid = u.ID = 1 WHERE r.uid = u.ID OR r.related = u.ID
を編集: IDがr.uidまたはr.relatedのユーザーを選択するとDISTINCTが使用されるため、私もg現在のユーザー(uid +関連)をすべてのリレーションに対して返します。 DISTINCTはユーザーを一意にする必要がありますか?私は初心者であり、これをstackoverflowで見つけました。
したがって、ユーザーから選択したり、リレーションシップに参加したり、リレーションシップを選択したり、ユーザーに参加したりする方が良いですか?ところで
:私は非常にあなたができる労働組合UNION