1

正しいクエリを書くのに苦労しています。誰かがもっと賢くなれば幸いです;)それから私は私を助けることができます.

簡単な気がしますが、何かが足りないだけです....

だから私は2つのテーブルを持っています;

CarColorsCarColorTranslations

ローカルにこれを持っていますCarColors(親は ですCarDetail)

ここに画像の説明を入力

現在、このテーブルには、それが属する国のロケールがあります。赤いボックスのように: (Id 5005 と 8006) はどちらも cardetail 1 に関連しており、名前が異なるだけです (もちろん他の言語)

しかし、これは正しいモデルではありません。CountryLocaleIdこれを取り除き、NameCarColorTranslations テーブルに入れる必要があります。

だから最初に私はこれを書いた:

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、、、、HexColorCodeColorCombinationIdPrice

ご覧のとおり。次のレコード (9005) は、同じ車の別の色であり、他のレコードと一致する/一致しないはずです。

それが明確であることを願っています。

サンクス!

4

1 に答える 1