問題: 私の mysql データベースには、リストと共有の 2 つのテーブルがあります。リストテーブルには、ユーザーが作成したすべての To Do リストがあります。
共有テーブルには、あるユーザーから別のユーザーに共有されたすべてのリストが格納されます。
私がやりたいことは、ユーザーのすべてのリストを取得することです。ユーザーが作成したリストと、アクセスできる共有リストの両方です。現在、共有テーブルにエントリがある場合に完全に機能する select ステートメントがあります (結果を取得している特定のユーザーに関連するかどうかは関係ありません)。
共有テーブルから結果を削除し、同じ複数テーブルの SELECT ステートメントを使用しようとするとすぐに、結果が得られず、理由がわかりません。
私が使用しているSELECTステートメントは次のとおりです。
SELECT DISTINCT `lists`.* FROM `lists`,`shares` WHERE `lists`.user_id = '$userid' OR (`shares`.sharedwith_id = '$userid' AND `lists`.id = `shares`.list_id) ORDER BY `lists`.datecreated DESC
クエリに関するヘルプは素晴らしいでしょう。私はJOINを見てきましたが、私が持っているものよりも効率的なものは見たことがありません.