0

以下は私のマスターテーブルです。

    tablename       columnname         size  order
    employee        name               25    1
    employee        sex                25    2
    employee        contactNumber      50    3
    employee        salary             25    4
    address         street             25    5
    address         country            25    6

そして、以下は私の子テーブルです:

    childid  userid  masterid  isactive  size   order
    1        1       1         Y         25     1
    2        1       2         Y         25     2
    3        1       3         N         0      0
    4        1       4         Y         50     3

マスターテーブルとサイズからテーブル名columnnameを取得したいのですが、子テーブルにあるときisactive is Yにuseridに対して子テーブルを注文します。

特定のユーザーの値がない場合は、テーブル名、列名、サイズ、順序where isactive isYなどのすべての値を取得する必要があります。

これを聞いて本当に申し訳ありませんが、SQLは得意ではありません。

よろしく。

4

1 に答える 1

1

INNER JOINの代わりに使用LEFT JOIN

SELECT rcm.tablename, rcm.columnname, rcc.size, rcc.order 
from report_customise_master rcm 
        INNER JOIN report_customise_child rcc 
            ON rcm.id = rcc.masterid 
WHERE rcm.isactive = 'Y' and rcc.isactive = 'Y'

更新1

..., COALESCE(rcc.size, rcm.size) as Size, 
     COALESCE(rcc.`Order`, rcc.`order`) as `Order` 
于 2012-09-05T07:09:05.513 に答える