sqlの質問です。

dbはsqliteです。

selectの際、列にas句で別名を指定できますが、
as ◯◯の◯◯を、動的にする方法ありますでしょうか。

例えば、
select
count(case when moushikomi_year = strftime('%Y', 'now') then 1 else null end) as strftime('%Y', 'now') のようなイメージです。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/08/31 14:12:15
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:windofjuly No.1

回答回数2625ベストアンサー獲得回数1149

ポイント90pt

残念ながらそのような使い方は見当たりませんね。

どうしてもSQL実行時点の時刻が欲しいなら、
別カラムを用意して、あとはVBAなどの処理側で判断させる方向で。

SELECT
STRFTIME('%Y', 'now') AS t,  ←別カラム
SUM(CASE WHEN moushikomi_year = STRFTIME('%Y', 'now') THEN 1 ELSE 0 END) AS f

余談ですがnullを積極的に使うのはミスの元にもなるので、
何らかの値をあてがうことを考えたほうが良いです。

他1件のコメントを見る
id:windofjuly

回答No.2のだわかき( id:dawakaki )くんは反省してないみたいですね。

>DB-API のパラメータ割り当てで実現できます。
http://docs.python.jp/2.6/library/sqlite3.html

SQLiteの機能を使ったものではなくPython側でSQLを作るって話ですね。
そのようなことであればphpなど他の言語でもできますし、、
SQLiteで出来るかと言う問いにもまったく答えていませんね。

「where条件の値を動的に指定」に引き続き、
今回もまたズサンな回答を投稿してくる人なので、
厳しい措置が必要なのかもしれません。

ストアドの話のほうでもズサンですね。

的確な答えを持っていれば私も答えるのですが、残念です。

以下、またガイドラインからの引用になりますが…。
http://q.hatena.ne.jp/help/guideline

投稿の内容が明確に不適切であるとお考えの場合には、
通報機能や回答拒否機能をご利用いただくことを推奨します

2013/08/29 08:51:42
id:yayayai

回答ありがとうございました。
もしかしたら、って思いましたが
やはりできないすね。すっきり

2013/08/29 09:20:52

その他の回答1件)

id:windofjuly No.1

回答回数2625ベストアンサー獲得回数1149ここでベストアンサー

ポイント90pt

残念ながらそのような使い方は見当たりませんね。

どうしてもSQL実行時点の時刻が欲しいなら、
別カラムを用意して、あとはVBAなどの処理側で判断させる方向で。

SELECT
STRFTIME('%Y', 'now') AS t,  ←別カラム
SUM(CASE WHEN moushikomi_year = STRFTIME('%Y', 'now') THEN 1 ELSE 0 END) AS f

余談ですがnullを積極的に使うのはミスの元にもなるので、
何らかの値をあてがうことを考えたほうが良いです。

他1件のコメントを見る
id:windofjuly

回答No.2のだわかき( id:dawakaki )くんは反省してないみたいですね。

>DB-API のパラメータ割り当てで実現できます。
http://docs.python.jp/2.6/library/sqlite3.html

SQLiteの機能を使ったものではなくPython側でSQLを作るって話ですね。
そのようなことであればphpなど他の言語でもできますし、、
SQLiteで出来るかと言う問いにもまったく答えていませんね。

「where条件の値を動的に指定」に引き続き、
今回もまたズサンな回答を投稿してくる人なので、
厳しい措置が必要なのかもしれません。

ストアドの話のほうでもズサンですね。

的確な答えを持っていれば私も答えるのですが、残念です。

以下、またガイドラインからの引用になりますが…。
http://q.hatena.ne.jp/help/guideline

投稿の内容が明確に不適切であるとお考えの場合には、
通報機能や回答拒否機能をご利用いただくことを推奨します

2013/08/29 08:51:42
id:yayayai

回答ありがとうございました。
もしかしたら、って思いましたが
やはりできないすね。すっきり

2013/08/29 09:20:52
id:dawakaki No.2

回答回数797ベストアンサー獲得回数122

ポイント10pt

DB-API のパラメータ割り当てで実現できます。
http://docs.python.jp/2.6/library/sqlite3.html

id:yayayai

ありがとうございます~

2013/08/31 14:11:57

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません