クエリに参加は、私が割り当てテーブルを持っている
TaskID Deadline supervisor division letterID organizer
A 10
B 20
これはTaskID_2テーブル(すべてのカラムであります選択する必要があります):
TaskID Deadline place_of_arrival staffID day_of_shipment
A1 100
A2 200
私は別のテーブルに参加したいと思います。
クエリが(SELECT * FROM assignment where id ='A3'
)の場合、タスクIDはA1になるので、タスクID2テーブルに参加したいと思います。
クエリが(SELECT * FROM assignment where id ='A2'
)の場合、タスクIDはBになるので、タスクID1テーブルに参加したいと思います。
可能ですか? それはこのような何か(ない有効なSQLクエリ)です:
SELECT * FROM assignment
IF(assignment.TaskID IN (SELECT TaskID FROM TaskID_1))
{ INNER JOIN TaskID_1 ON assignment.TaskID = TaskID_1.TaskID }
else
{ INNER JOIN TaskID_2 ON assignment.TaskID = TaskID_2.TaskID }
WHERE assignment.ID = 'some_variable'
NB:
- 私が持っていないスクリプトがアクティブなレコードであるので、私はCodeIgniterのを使用していますテーブル構造を変更する特権。
ちょうど興味がありますが、同じ定義の2つのTaskIDテーブルを持つ点は何ですか? – Devon
まあ、私はすべての列を追加していないより多くの違いがあります。それはあまりにも長くなるだろう。 – Vahn
あなたのケースでユニオンを使用 –