このクエリで2番目の結合に問題があります。ユーザーは、他のユーザーの発注に影響を与えないタスクの順序を変更することができます。しかし、ユーザの作業が彼のために表示されないための第二の参加ので、何のためには、まだ設定されていない場合、それは、外側左されているにもかかわらず結果を返しませんSQLは必要な処理をしません
select `workflow_tasks`.*,
`workflow_task_order`.`order`,
`workflow_group_tasks`.`group_id` as `pivot_group_id`,
`workflow_group_tasks`.`task_id` as `pivot_task_id`
from `workflow_tasks`
inner join `workflow_group_tasks` on `workflow_tasks`.`id` = `workflow_group_tasks`.`task_id`
left outer join `workflow_task_order` on `workflow_tasks`.`id` = `workflow_task_order`.`task_id`
where (`workflow_task_order`.`user_id` = 1
or `workflow_task_order`.`user_id` is null)
and `workflow_group_tasks`.`group_id` in (1, 2, 3, 7)
group by `workflow_tasks`.`id`
order by `order` asc
今日のヒント:テーブルエイリアス! – jarlh
カラム名として 'order'を使用しないでください – Jens
サンプルテーブルのデータと期待される結果を書式付きテキスト(画像ではありません)として追加します。 – jarlh