-1
に参加:アップグレードSQLクエリは、私はこのクエリを持って
SELECT e.id AS event_id, e.title, e.date, e.category, e.place,
p.id, p.name, p.coor, p.nz,
a.user, a.event, COUNT(a.user) AS attending
FROM events AS e
LEFT JOIN attendance a
ON a.event = e.id
LEFT JOIN places p
ON p.id = e.place
GROUP BY e.id, e.title
ORDER BY attending DESC
このクエリは、イベント表からイベントを取得し、他のいくつかのテーブルを結合...(あなたはそれ私はあなたに感謝します、よりefficent作るために私を助けることができる場合)
私はと呼ばれる別のテーブルがあります。invited_friends:
event_id bigint(20)
user_id int(11)
owner tinyint(1)
それはcertienイベントに招待されたユーザーIDを保存する...(所有者は、ユーザーがイベントの作成者である場合に保存ブール値です)
invited_friendsテーブルのデータに基づいて現在のユーザーが招待されている場合のみ選択します。
INNER JOINのは、それが働いたすべてではありませんが、私のイベントは、そのうちのいくつかは、誰にでも公開され、ユーザーを招待しました...それはなりますそれらを無視: 'code'INNERはinvited_friendsのJOIN ON I( i.event_id = e.id ) AND( i.user_id = 1439375286 )' code' – Amir
はどのように公共のイベントは何を知っていますか?それはどこに保存されていますか? – Tobsey
e.category = 4の場合、プライベートイベントです。私のように内部結合を使用している場合、招待されたイベントの横にあるすべてのイベントが無視されます。 – Amir