- ベストアンサー
横並び表記について
- 横に表示するためのテーブルがidが飛んでも詰める形になる方法
- 解決するためのsql構文
- 要約文の内容のまとめ
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
No.1です。 Accessと認識しつつもAccess以外の関数を使っていました。 訂正いたします。 SELECT Max(IIf((nid Mod 3)=1,id,Null)), Max(IIf((nid Mod 3)=1,name,Null)), Max(IIf((nid Mod 3)=2,id,Null)), Max(IIf((nid Mod 3)=2,name,Null)), Max(IIf((nid Mod 3)=0,id,Null)), Max(IIf((nid Mod 3)=0,name,Null)) FROM (SELECT (SELECT COUNT(*) FROM tb1 WHERE ID<=a1.ID) AS nid, id, name FROM tb1 AS a1) AS a GROUP BY Int((nid-1)/3);
その他の回答 (1)
- jamshid6
- ベストアンサー率88% (591/669)
idがユニークな項目だとすれば、それを元に抜けのない連番を作ることになります。たとえば以下のように。 SELECT MAX(IIF((nid % 3)=1,id,NULL)), MAX(IIF((nid % 3)=1,name,NULL)), MAX(IIF((nid % 3)=2,id,NULL)), MAX(IIF((nid % 3)=2,name,NULL)), MAX(IIF((nid % 3)=0,id,NULL)), MAX(IIF((nid % 3)=0,name,NULL)) FROM (SELECT (SELECT COUNT(*) FROM tb1 WHERE ID<=a1.ID) nid, id,name FROM tb1 a1) a GROUP BY INT((nid-1)/3)
お礼
ご連絡が遅くなってしまい申し訳ございません!! こちらで抽出できました!! ありがとうございました!!