このディレクトリの索引





このディレクトリの索引

# 出典 :: SQL質疑応答スレ 13問目 #562 # t_all #  id/groupType/userId # t_groupA #  id/c1/c2/c3 # t_groupB #  id/c1/c2/c3 # # 以上のような3つのテーブルがあって、t_all.groupTypeの値はgroupAまたはgroupBのいずれか # かつ、t_all.userId は t_groupA.id または t_groupB.id のいずれかである構造になっています # # この状況で、t_all.idしかわかっていない時に最短で # t_all.groupType、t_all.userId と、それに付随するt_groupAの全カラムまたはt_groupBの全カラムを # 取得するにはどういうクエリ文を書いたら良いでしょうか? # # select t_all.groupType, t_all.userId from t_all where t_all.id = $id; # として、その返り値のgroupTypeとuserIdを元にif文で分けてもう一度グループのテーブルにselectをするしかないですか? # よろしくお願いします。環境はmysql5.5です # # 't_all  id/groupType/userId t_groupA  id/c1/c2/c3 t_groupB  id/c1/c2/c3 以上のような3つのテーブルがあって、t_all.groupTypeの値はgroupAまたはgroupBのいずれか かつ、t_all.userId は t_groupA.id または t_groupB.id のいずれかである構造になっています この状況で、t_all.idしかわかっていない時に最短で t_all.groupType、t_all.userId と、それに付随するt_groupAの全カラムまたはt_groupBの全カラムを 取得するにはどういうクエリ文を書いたら良いでしょうか?'(_id,_goupType,_userId,_c1,_c2,_c3) :- t_all(_id,_groupType,_userId), atomic_list_concat(['t_group',_groupType],_t_groupType), list_call([_t_groupType,_userId,_c1,_c2,_c3]). list_call(L) :- P =.. L, call(P).