私のタイトルが理にかなっていることを願っていますが、基本的に必要なことは mysql テーブルからいくつかの行を選択することですが、特定の 1 つの行を常に最初にリストする必要があります。通常、これには「フィールドによる並べ替え」を使用しますが、この特定の行は別のテーブルの値と一致する必要があります。
SCHEDULES TABLE
----------
ID
NAME
COMPANYID
DESCRIPTION
COMPANIES TABLE
----------
ID
NAME
ACTIVESCHEDULEID
したがって、companyid = 1 のスケジュール テーブルからすべてのスケジュールを選択したいのですが、この会社のアクティブなスケジュールであるスケジュールを最初にリストする必要があり、その情報は会社テーブルに格納されます。
私はこのようなことができることを望んでいました:
select s.id
from schedules s, companies c
where s.companyid = c.id
and s.companyid = 1
order by field(s.id,s.id = c.activescheduleid)
しかし、それは私にはうまくいきません。何か案は?