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

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

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

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

SQL

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

Q&A

解決済

2回答

716閲覧

PostgreSQL:テーブルのIDを取得したい

Ykkykk

総合スコア140

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

SQL

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

0グッド

0クリップ

投稿2019/04/25 01:30

編集2019/04/25 01:47

テーブルからテーブルに付与されたIDだけを取得したいのですが、うまくいきません。
テーブルには、テーブルのID、社員番号、名前が収められており、社員番号xxxxの時のIDを取得する、という処理をしたいです。

idemployeeIdemployeeName
1100tanaka

テーブル自体は上記の構造になっています。
取得したいのは一番左側のテーブル自体に付与されたidです。

SELECT id FROM employee;

以上のSQL文を実行すると、IDだけが返されるのですが、

SELECT id FROM employee WHERE employeeId=xxxx;

とするとエラーが起きてしまいます。

ERROR: column "employeeid" does not exist 行2: WHERE employeeId=xxxx; ^

以上のエラーが返されてしまうのですが、なぜ条件を指定するとエラーになってしまうのでしょうか。。。
エラーに出ているcolumn "employeeid"というのもどの部分を指しているのかわかりません。
SELECTしているテーブルのIDのことなのでしょうか?
条件を指定してテーブルからIDを取得することはできませんでしょうか??

ご教示いただけますと幸いです。
よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

もしかして

SELECT id FROM employee WHERE employee.id=xxxx;

テーブルemployeeに、カラムemployeeIdなんて存在しないよ、というエラーです。

投稿2019/04/25 01:31

編集2019/04/25 01:33
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

Ykkykk

2019/04/25 01:35

ご回答いただきありがとうございます。 SELECT * FROM employee;でテーブルすべてを取得すると、id(テーブル自体のid)、employeeId、employeeNameという列があるのですが、なぜ認識されないのでしょうか。。。
退会済みユーザー

退会済みユーザー

2019/04/25 02:10

悪いことは言わないから、大小混ぜない表記に今のうちに改めておいたほうが良いよ、デバッグしやすいし処理系に依存しなくなるし。
guest

0

自己解決

引用符でくくらない限り大文字と小文字は区別せずに小文字とされるpostgreSQLの仕様でした。

投稿2019/04/25 02:04

Ykkykk

総合スコア140

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

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

退会済みユーザー

退会済みユーザー

2019/04/25 02:09

SQL言語自体、大文字小文字の区別が本来ないところを、後の言語拡張で大文字小文字だけじゃなく各国語対応まで広げた印象。よって、スネークケース(大小混ぜずにemployee_idみたいに_を使う)なら特定の処理系に依存しない書き方になるのでオヌヌメ
sazi

2019/04/25 03:26

CREATE TABLEでカラムを"で括って定義しているとSQL文でのカラム指定も"で括らないと駄目になってしまいます。 ”で括らずに定義すると、作成時に小文字に丸められます。 非常に面倒なので、今のうちに定義を見直した方が良いかと思います。
Ykkykk

2019/04/25 06:17

なるほど。。。 データベースについて全く知らないため、これから勉強していきたいと思います。 お二方とも貴重なアドバイスをいただきありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問