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

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

新規登録して質問してみよう
ただいま回答率
85.46%
SQL

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

Q&A

3回答

6370閲覧

SQL case文を実行するとエラーが出力される

infra____

総合スコア90

SQL

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

0グッド

0クリップ

投稿2020/09/09 01:23

編集2020/09/09 01:43

イメージ説明

上画像のテーブルに対して、以下のコードを実行すると
「ERROR: syntax error at or near "THEN" Position: 33」というエラーが表示されます。
MySQLを使用しています。原因はなんでしょうか?ご教示いただけますと幸いです。

SELECT 費目,合計, CASE 費目 WHEN '食費' THEN "aaaa" WHEN '給料' THEN "bbbb" ELSE '不明' END AS 別名 FROM 家計簿集計

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

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

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

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

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

gentaro

2020/09/09 01:41

使ってるDBによって文法が異なる場合があるので、何を使ってるのかぐらいは質問文に書きましょう。
infra____

2020/09/09 01:44

ご指摘ありがとうございます。 修正ずみです。
Orlofsky

2020/09/09 03:57

ここの掲示板では、どのデータベースを使うのかを質問のタグで示したり、バージョンも明記した方が適切なコメントが付き易いです。
guest

回答3

0

質問のSQLには全角空白が含まれていますが、そこは大丈夫ですか?

MySQLの場合、カラム名を参照する時はバッククオート(`)を使用します。

SQL

1SELECT 費目,合計, 2CASE 費目 WHEN '食費' THEN `aaaa` 3 WHEN '給料' THEN `bbbb` 4ELSE '不明' 5END AS 別名 6FROM 家計簿集計

ただ、以下の状態でエラーにはならないはずですので、実際のSQLでは別な原因でエラーが出ているんだと思います。

SQL

1SELECT 費目,合計, 2CASE 費目 WHEN '食費' THEN 'aaaa' 3 WHEN '給料' THEN 'bbbb' 4ELSE '不明' 5END AS 別名 6FROM 家計簿集計

投稿2020/09/09 02:18

編集2020/09/09 03:06
sazi

総合スコア25206

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

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

0

SQL

1CASE 費目 WHEN '食費' THEN "aaaa"

全角空白が含まれていませんか?

投稿2020/09/09 01:53

javahack

総合スコア1088

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

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

0

CASE 費目 WHEN '食費' THEN "aaaa" WHEN '給料' THEN "bbbb" ELSE '不明'

この部分の"aaaa"、"bbbb"を'aaaa'、'bbbb'にしたらどうなりますか。

投稿2020/09/09 01:33

rwatanabe

総合スコア2

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

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

infra____

2020/09/09 01:37

返信ありがとうございます。同じエラーが出力されます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問