質問: 内容3.No """ cur.execute(sql) return cur.fetchall() print(item()) ``` としたのですが、表示されるのが 3 a b c のみです。 どのように書くのがよろしいのでしょうか? どうぞよろしくお願い致します。
回答: 希望する形にするには外部結合である必要があるので、from句でouter joinするか、select句でサブクエリーとする必要があります。 それから結合条件はwhere句ではなくfrom句に記述した方が、外部結合に変更するような場合に容易です。 ``` SELECT ページ , (select 内容 from 内容 where No=題名1) as 内容1 , (select 内容 from 内容 where No=題名2) as 内容2 , (select 内容 from 内容 where No=題名3) as 内容3 FROM 統合 inner join 題名 on 統合.題名CD = 題名.題名CD ``` または ``` SELECT ページ , 内容1.内容 as 内容1 , 内容2.内容 as 内容2 , 内容3.内容 as 内容3 FROM 統合 inner join 題名 on 統合.題名CD = 題名.題名CD left join 内容 as 内容1 on 題名.題名1=内容1.No left join 内容 as 内容2 on 題名.題名2=内容2.No left join 内容 as 内容3 on 題名.題名3=内容3.No ```