利用可能なDBは次のとおりです。
create table tab1 (
masterid integer(2) primary key,
name varchar(22),
l2 integer(2)
);
insert into tab1 values(1,'g-1',50);
insert into tab1 values(2,'g-1',50);
insert into tab1 values(3,'g-1',50);
insert into tab1 values(50,'grup1',-1);
insert into tab1 values(5,'g-1',50);
insert into tab1 values(60,'grup2',-1);
insert into tab1 values(7,'g-2',60);
insert into tab1 values(8,'g-2',60);
http://sqlfiddle.com/#!2/b7fe9/1でも入手可能
結果はグループごとになります。たとえば、行50、grup1、-1には主キーとして機能する50があり、l2列にそのmasterID(ここではケース50)がある行は、取得する必要があります。したがって、基本的に、次の出力が必要です。
MasterId Name l2
50 grup1 -1
1 g-11 50
2 g-12 50
3 g-13 50
5 g-14 50
60 grup2 -1
7 g-21 60
8 g-22 60
すべてのグループのL2列の値は-1であることに注意してください。私は多くのことを試みましたが、この出力が達成できるかどうか混乱しています。あなたの助けに感謝します。ありがとうございました。