私は、テーブルにジョブ(JobID、Time、DrvNo ...)を持つ「ジョブ」があります。 別のテーブル「JobDetails」(JobFK、PkSequence、IsDestination、PC)があります。 JobsとJobDetailsの間には、1対多の関係があります。別のテーブルからINSERTする(1対多数の関係)
Data in Jobs is as follows:
Jobs
==================
JobID, Time, DrvNO
==================
1, 12:30, 123
2, 13:50, 343
3, 14:00, 234
Data in JobDetails as follows:
JobDetails
==============================================
JobFK, PkSequence, IsDestination, PC
==============================================
1, 0, 0, AB1
1, 1, 1, DE1
2, 0, 0, RT1
2, 1, 0, DS1
2, 2, 1, KJ1
3, 0, 0, YU7
3, 1, 1, TH1
私は何をしようとしていることはジョブズに2つの以上の列を挿入し、JobDetailsからピックアップし、目的地を取得することにより、ジョブを投入しようとすることで、これらの2つのテーブルをマージすることです。 SELECT上記
SELECT cj.JobID, cj.Time,cj.DrvNo, j.PC AS Pickup, k.PC AS Dropoff
FROM Jobs AS cj
LEFT JOIN JobDetails AS j ON (cj.JobID = j.JobFK AND j.PKSequence = 0)
LEFT JOIN JobDetails AS k ON (cj.JobID = k.JobFK AND k.IsDestination= 1)
ザ・正常に動作しますが、どのようにデータを既存のテーブル(ジョブ)を更新/挿入するには、次のように次のように
Jobs
==================
JobID, Time, DrvNO, Pickup, Dropoff
==================
1, 12:30, 123, AB1, DE1
2, 13:50, 343, RT1, KJ1
3, 14:00, 234, YU7, TH1
私は、これのSELECT一部を達成しましたこのクエリから?
何か助けていただければ幸いです。 ありがとう
この行については、「2,1,0、DS1」はどうでしょうか?あなたはそれを排除したいですか? –
はい、無視されます。 PKSequence = 0(Pickupと見なされる)またはIsDestination = 1(Dropoffとみなされる)のいずれかに2つだけ関心があるためです。 – user1001493