ホームページ  >  に質問  >  本文

NULL を指定できる異なる列のキーを使用してテーブルをそれ自体に結合する方法

次のようなデータセット (例 5 フィールド) があります。

###開始日### ###時間### ###2番### 0:01166896901216689690131668969014ご覧のとおり、最初の 2 行と最後の 2 行は、key1 と key2 の文字列を使用して結合できます。しかし、最後のフィールドには一致するフィールドがありません。 基本的には、これらのペアを照合し、以下に示すように新しいテーブルを作成する必要があります。
番号 1キー 1 キー 2 2022年11月21日
413027032418217 B3B820CE 2022年11月21日 0:02
B3B820CE 2022年11月21日 0:03
413027032418218 8EFCB769 2022年11月21日 0:04
8EFCB769 2022年11月21日 0:05
413027032418219 4070A788

###開始日### ###時間### ###終了日### ###時間###

番号 1

###2番###

2022年11月21日2022年11月21日これは私がこれまで試してきたことです。しかし、これでは私が必要とするものは提供されません。誰かがここで何がエラーなのか教えてくれますか?
P粉448346289P粉448346289429日前610

全員に返信(1)返信します

  • P粉278379495

    P粉2783794952023-09-10 09:53:30

    エラーは単純です。INNER JOIN は完全なペアのみを選択します。

    すべてのキー値を別のサブクエリに収集し、データをそのサブクエリに結合する必要があります。

    リーリー

    key1 値が常に存在する一方で、key2 には同じ値が存在しない可能性がある場合は、単純な LEFT JOIN を使用できます:

    リーリー

    返事
    0
  • キャンセル返事
  • 2022年11月21日 0:01 2022年11月21日 0:02 1668969012 413027032418217
    0:03 2022年11月21日 0:04 1668969013 413027032418218
    0:05 1668969014 413027032418219
    ああああ