表Aのproduct_id列と表Bの列IDを照会したいと考えています。列IDには、製品ごとにいくつかの製品IDが含まれています。たとえば、IDのセルは 'productA_id:21、productB_id:22 productC_id:43'となります。そして、この長い文字列では、異なる製品IDが '、'または ''で区切られています。私の例では、製品AとBは '、'で区切られ、製品Cは ''で区切られています。2つの異なる列を持つ2つの表を結合する方法
テーブル:
私は何をしたいことは、テーブルAでのproduct_idにこれら2つのテーブルを結合するためにであることは、テーブルB.
例えば テーブルAのIDS列にproductA_idに等しいですB:インナー後
2つのテーブルを結合します結果は次のようになります。
は、どのように私は、SQLクエリによって結果を得ることができますか?
**今のところ私はテーブルを照会するだけで何も正規化できません。私はテーブルを今のように受け入れなければなりません。以前はこのクエリを使用してテーブルBのコンテンツのみを取得しています。
select * from tableB tt where exists
(select 1 from (select distinct '%productA_id:'||product_id||' %' value from tableA) all_likes where tt.ids like all_likes.value)
or exists
(select 1 from (select distinct '%productA_id:'||product_id||',%' value from tableA) all_likes where tt.ids like all_likes.value)
or exists
(select 1 from (select distinct '%productA_id:'||product_id value from tableA) all_likes where tt.ids like all_likes.value)
しかし、今ではテーブルAからも情報を取得したいと考えています。
normalize。 。 。 。 。 。 – GurV
あなたはSQL文のために何を試しましたか? – kojow7
何を試しましたか?これは単純な内部結合のように見えます –