sql >> データベース >  >> RDS >> Mysql

共通キーなしで複数のテーブルを結合する

    考えられるアプローチの1つ:

    SELECT l.Item, m.name, c.Color
          FROM linkage_Table AS l
    INNER JOIN Material_Table AS m
            ON l.Material = '*'
               OR l.Material = m.name
    INNER JOIN Color_Table AS c
            ON l.Color = '*'
               OR l.Color = c.Color
    

    SQLフィドル

    説明:'*'の場合、'material'テーブルと'color'テーブルが完全に結合(相互結合)されるようにクエリを作成する必要があります 対応するフィールドで、またはこれらのフィールドの同等性によって与えられます。そして、それはまさに'ON l.someField = '*' OR l.someField = joined.someField'を使用して得たものです。 条項。



    1. SQLの単一のクエリでカテゴリとサブカテゴリをフェッチするにはどうすればよいですか? (mysql)

    2. SQL Serverでクエリ結果をコンマ区切りリストとして返す方法– STRING_AGG()

    3. OracleのCREATEORREPLACEVIEWに相当するSQLServer

    4. モジュールmysqlを使用してnodejsでmysqlの列を一覧表示する方法