正しいクエリを書くのに苦労しています。誰かがもっと賢くなれば幸いです;)それから私は私を助けることができます.
簡単な気がしますが、何かが足りないだけです....
だから私は2つのテーブルを持っています;
CarColors
とCarColorTranslations
。
ローカルにこれを持っていますCarColors
(親は ですCarDetail
)
現在、このテーブルには、それが属する国のロケールがあります。赤いボックスのように: (Id 5005 と 8006) はどちらも cardetail 1 に関連しており、名前が異なるだけです (もちろん他の言語)
しかし、これは正しいモデルではありません。CountryLocaleId
これを取り除き、Name
CarColorTranslations テーブルに入れる必要があります。
だから最初に私はこれを書いた:
Insert into CarColorTranslations (Created, CreatedBy, Changed, ChangedBy, CarDetailId, CarColorId, CountryLocaleId, Name)
select GETDATE(),'migrations', GETDATE(), 'migrations', cc.CarDetailId, cc.Id, cc.CountryLocaleId, Name from CarColors cc
これにより、行が他のテーブルに書き込まれます。しかし、私は一つ忘れていました。データを carcolors に統合する必要があります。意味; ID 5005 と 8006 は 1 つである必要があります。だから私は8006(または他のもの)を取り除く必要があります。しかし、この時点で、CarColorTranslations の 1 つのレコードから親を失います。
CarColorTranslations にはこれらのいくつかのプロパティがあります
CarDetailId (FK cardetail)
CarColorId (FK CarColor)
CountryLocaleId (FK countryLocale)
Name (Real translated value)
データを統合し、クエリを に書き込むためCarColortranslations
。一致する結合キーはCarDetailId
、、、、HexColorCode
ColorCombinationId
Price
ご覧のとおり。次のレコード (9005) は、同じ車の別の色であり、他のレコードと一致する/一致しないはずです。
それが明確であることを願っています。
サンクス!