前提・実現したいこと
縦持ちのテーブルを横展開するSQL文を書きましたが
今のままでも動作はするのですが
レコードが追加された際にいちいちSQLの修正が発生するので
これを避けたいと考えております。
該当のソースコード
SQL
1SELECT 2 m_search.code, 3 Max(IIf([m_search.panel_no]="1",[m_search.search_flg])) AS 1, 4 Max(IIf([m_search.panel_no]="2",[m_search.search_flg])) AS 2, 5 Max(IIf([m_search.panel_no]="3",[m_search.search_flg])) AS 3, 6 Max(IIf([m_search.panel_no]="4",[m_search.search_flg])) AS 4, 7 Max(IIf([m_search.panel_no]="5",[m_search.search_flg])) AS 5, 8 Max(IIf([m_search.panel_no]="6",[m_search.search_flg])) AS 6, 9 Max(IIf([m_search.panel_no]="7",[m_search.search_flg])) AS 7, 10 Max(IIf([m_search.panel_no]="8",[m_search.search_flg])) AS 8, 11 Max(IIf([m_search.panel_no]="9",[m_search.search_flg])) AS 9, 12 Max(IIf([m_search.panel_no]="10",[m_search.search_flg])) AS 10, 13 Max(IIf([m_search.panel_no]="11",[m_search.search_flg])) AS 11, 14 Max(IIf([m_search.panel_no]="12",[m_search.search_flg])) AS 12, 15 Max(IIf([m_search.panel_no]="13",[m_search.search_flg])) AS 13, 16 Max(IIf([m_search.panel_no]="14",[m_search.search_flg])) AS 14 17FROM m_search.panel_no 18GROUP BY m_search.code 19ORDER BY m_search.code;
試したこと
VBAとループを使ってSQLを動的に生成すれば実現できそうだとは思うのですが、
ゆくゆくSQlite等に移行することも考えているので、できればそれを踏まえて
SQL文のみで実現できないかと考えております。
色々とGoogleで調べてみたりしたのですがなかなかこれだという
情報に巡り合えませんでした。
どうしてもプログラムのみしか解決策がないのであれば仕方ないのですが
SQLのみで解決できる手段があれば知りたいです。
すいませんがお力をお貸しください。
補足情報(FW/ツールのバージョンなど)
MS-ACCESS2016
Windows10Pro 64bit
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/15 00:02