質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
A5:SQL Mk-2

A5:SQL Mk-2は、フリーのSQL開発ツールです。高機能で軽量、且つ分かりやすいことを目指して開発されました。SQLの実行やテーブル編集などの機能に加え、簡単な操作によりDB定義書やER図を自動生成することも可能です。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

2回答

6059閲覧

A5:SQL(A5M2)を使ってデータの抽出条件をExportしたい

Akiko_san

総合スコア9

A5:SQL Mk-2

A5:SQL Mk-2は、フリーのSQL開発ツールです。高機能で軽量、且つ分かりやすいことを目指して開発されました。SQLの実行やテーブル編集などの機能に加え、簡単な操作によりDB定義書やER図を自動生成することも可能です。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

2クリップ

投稿2020/05/26 03:12

## やりたいこと
SQLを使ってサーバーからデータを取得している仕組みなのですが、
**「どのテーブルのどのフィールド名を、どんな抽出条件で出力しているか」**といった条件を書き出さねばなりません。

A5M2を使うとスムーズだという事はわかったものの、A5M2サイトのヘルプを見ても
条件を書き出す方法がわからずにいます。
たいへんお恥ずかしいのですが、どの機能を使えば実現できるのかを教えていただけませんでしょうか。

自分でやってみたこと

A5M2で、該当SQLの接続&結果表示には成功しました。
ここから、DBの条件をExcelやCSVに出力することができずにいます。

## スキルとここまでの経緯
SQLの知識がほとんどない初心者です。
他の方が作成したデータベースを大量に引き継ぐことになり、当件でもう2か月くらい試行錯誤しています。
どうやら、ユニオンやパススルーなど複雑なことをやっており、メモ帳でにらめっこして書き起こしでは限界でした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

「データを抽出しているSQLがあって、そこから抽出となる条件を抜き出す」
のを目的としているのなら、その条件を自動的に抜き出す機能はありません。

クエリーデザイナ(メニュー→SQL)なら、グラフィカルに表示されるのである程度分かり易いかもしれませんが。

条件と言われるものとしては、結合条件、抽出条件があり、where句で書かれるものだけではありませんので、SQLの解析が出来る知識がなければ、資料を起こすのは難しいでしょうね。

投稿2020/05/26 04:19

sazi

総合スコア25327

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Akiko_san

2020/05/26 06:57

saziさん、ありがとうございます。saziさんには先日も丁寧なアドバイスをいただいております。 ms-queryで開くことはできるものの、パススルーなど、複雑な結合がされたsqlはグラフィカルに表示ができないとわかり、頭を抱えています。 SQL解析が上達せず、心が折れかけています・・・。
sazi

2020/05/26 07:18 編集

実行計画で見ると条件が分解されたりするので解析の手助けになるかもしれません。 実行計画はSSMSの方がグラフィカルで見やすいかも。
Akiko_san

2020/05/26 07:18

重ねてありがとうございます。すみません、実行計画 とはなんでしょうか・・・?
sazi

2020/05/26 07:23 編集

SQLはネストなどを分解し、積み上げる形で解析します。 A5SQLはSQLの整形機能がありネストは揃えてくれますから、分解しやすくなるかもしれません。
sazi

2020/05/26 07:30 編集

因みに「パススルー」とありますが、解析しているのはAccessかエクセルですか?
sazi

2020/05/26 07:39

前の質問を確認しましたがoracleで合っていますか? そうなら、SSMSは無視して下さい。 oracleならSQL Developerとかですかね。 SQL Developerの使い方~ダウンロード、インストール、DB接続、SQL実行 https://blogs.oracle.com/oracle4engineer/sql-developerdbsql
sazi

2020/05/26 07:40

A5SQLにも実行計画はありますがグラフィカルではないです。
Akiko_san

2020/05/27 01:13

はい。oracleを利用してます。そして結果をExcelやAccessへ出力しています。 夜に過去質問を調べたところ、これがかなり近いと感じました。 https://teratail.com/questions/239897
Akiko_san

2020/05/27 01:19

SQLを改行することで、視覚化しやすいとの情報、助かります。 まずはこの方法で、解析を進めていこうと思います。
guest

0

ベストアンサー

https://a5m2.mmatsubara.com/
>はじめに
>A5:SQL Mk-2は複雑化するデータベース開発を支援するために
>開発されたフリーのSQL開発ツールです。
>SQLを実行したり、テーブルを編集するほかに、SQLの実行計画を取得したり、
>ER図を作成したりすることが出来ます
とあります。
https://a5m2.mmatsubara.com/help/SQLEditor/toExcel.html
では、
>Microsoft Excel でデータ表示
>結果セットが表示されている状態で、スピードボタンをクリック・・・・・・・
とあります。
このツールは基本的にSQL文を作成するのがメインのツールではないですか?
その他の機能もありますが、私でしたらSQL文作成用として使い、
ExcelVBA側へそのSQL文のみをコピペする様な使い方を想定します。

多分、現在使われているデータベースへの接続(ODBC/ADO/RDO等)を確認し
その接続方法を使った、VBAでのExcelシートへの書き込み方を捜された方が
適切ではないでしょうか。
コーディングが長く成る為大変と思いますが、方針の再検討されてはどうかと思います。

投稿2020/05/26 04:12

編集2020/05/27 05:53
tosi

総合スコア553

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tosi

2020/05/26 05:00 編集

訂正完了
Akiko_san

2020/05/26 07:00

tosiさん、ありがとうございます。 vbaでの書き込み!すっかり忘れていました。さきほどvbaを引っ張り出して実行してみました。 書き出しは、形だけはどうにかできて、qt.connection と qt.CommandText の出力に成功しました。CommandText部分にフィールド名・抽出条件などが全部入っているので、これを「どうにか別の形で出す」という方向で進めていった方が良い、ということですね。
tosi

2020/05/26 08:08 編集

はい。その方が宜しいかと思います。
Akiko_san

2020/05/27 01:34

ありがとございます!qt.CommandTextで、SQLが抜き出せることが確認できました。 フィールド名などの抜き出しまでできないか、なんとか参考になりそうなサイトを検索してみます!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問