🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
BigQuery

BigQueryは、Google Cloud Platformが提供しているビッグデータ解析サービス。数TB(テラバイト)またはPB(ペタバイト)の膨大なデータに対し、SQL風のクエリを実行し、高速で集計・分析を行うサービスです。

SQL

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

Q&A

解決済

2回答

1237閲覧

指定したカラム名を含め、そのカラムより左側に位置するカラムの列データを取得するSQLはありますか??

amaturePy

総合スコア131

BigQuery

BigQueryは、Google Cloud Platformが提供しているビッグデータ解析サービス。数TB(テラバイト)またはPB(ペタバイト)の膨大なデータに対し、SQL風のクエリを実行し、高速で集計・分析を行うサービスです。

SQL

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

0グッド

0クリップ

投稿2021/02/04 04:50

タイトルの通り、指定したカラムより左側に位置するカラムのレコードを全て取得するSQLを探してます。
今までこのようなSQLを書いたことがないので、調べているのですが、ピンポイントで使えそうな物が見つからず質問させて頂いてます。

例えば、
カラム1|カラム2|カラム3|カラム4|カラム5|
の場合、where区などでカラム4を指定すると、カラム1、カラム2、カラム3の列データを取得するといった物です。

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

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

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

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

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

maisumakun

2021/02/04 04:56

どのような経緯でそのような処理が必要となったのでしょうか?
amaturePy

2021/02/04 05:04

はい。社内の事業関連であまり詳しくは載せられのが大変恐縮なのですが、機械学習で使うCSVデータの生成に使う予定です。テーブルのカラムを表示させているセレクトボックスからカラム名を選択し、そのカラムの列データを出力します。 DBの設計上どうしても選択したカラムより左のカラムの列データも一緒に出力したいです。
guest

回答2

0

ベストアンサー

DBの設計上どうしても選択したカラムより左のカラムの列データも一緒に出力したいです。

考え方がおかしいです。データベースの列の順序は、理論的には何の意味もありません

投稿2021/02/04 05:12

maisumakun

総合スコア145977

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

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

maisumakun

2021/02/04 05:13

どうしてもやりたいのであれば、SQLを呼ぶ側の言語で必要な列のリストを生成する、という形でやるのが適当と考えます。
amaturePy

2021/02/04 05:15

はい。ありがとうございます。 言語の方でほしい形になるよう整形してみます。
guest

0

BigQuery でいいんですか?

information_schema からカラム情報取れますし、
execute immediate で文字列としての SQL を実行できますので、
BigQuery 側だけでもなんとかなるのではと思います。もちろん
information_schema 取得だけ行って、後はアプリ側で処理してもいいですね。

https://cloud.google.com/bigquery/docs/information-schema-tables?hl=ja#columns_view

https://cloud.google.com/bigquery/docs/reference/standard-sql/scripting?hl=ja#execute_immediate

投稿2021/02/05 16:13

68user

総合スコア2022

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問