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

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

新規登録して質問してみよう
ただいま回答率
85.35%
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

解決済

1回答

10898閲覧

postgreSQL SQL文 一部の列が取得できない。ERROR: column "diffvideos" does not exist

shimon_

総合スコア26

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グッド

1クリップ

投稿2020/09/17 14:10

実現したいこと

下記DBを構成する列、diffVideos, diffViews, diffCommentsを、SQL文で取得・操作したい。
しかし、エラーが出現する。

起こっている問題

SELECT id, date FROM database;

は取得できます。しかし、

SELECT diffVideos, diffViews, diffComments FROM database;

と指定すると、

ERROR: column "diffvideos" does not exist

というように、エラーが出現します。
どうやら、diffVideos, diffViews, diffCommentsの3列いずれかを指定するとエラーになるようです。
また、

SELECT * FROM database;

として、全てを取得した場合には、上記のdiffVideosを含めたすべての列が表示されます。

なぜ、一部の列を指定することができなくなってしまうのでしょうか?
お知恵を貸していただけると助かります。よろしくお願いいたします。

DBの構成

id | date | diffVideos | diffViews | diffComments ----+------------+------------+-----------+------------- 1 | 2007-06-19 | 1086 | 7338224 | 7982680 2 | 2007-06-20 | 1967 | 10768339 | -4932772 3 | 2007-06-21 | 2265 | 10604502 | 1798558 4 | 2007-06-22 | 1837 | 11432870 | 1874281 5 | 2007-06-23 | 2469 | 10487225 | 1763624 6 | 2007-06-24 | 3363 | 12445612 | 2063082 7 | 2007-06-25 | 3136 | 12976463 | 2163748 8 | 2007-06-26 | 1640 | 10861728 | 2019118 9 | 2007-06-27 | 2167 | 10992647 | 1889391 10 | 2007-06-28 | 2123 | 10910328 | 1849063

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

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

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

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

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

guest

回答1

0

ベストアンサー

SELECT diffVideos, diffViews, diffComments FROM database;

カラム名に アルファベットの大文字を含んでいるのでしょうか?

エラーメッセージでは、

ERROR: column "diffvideos" does not exist

のように全部小文字で処理されていますね。

基本的に PostgreSQL の SQL では、4.1.1. 識別子とキーワード にあるように 大文字小文字の区別なく小文字で処理されますので、カラム名にアルファベット大文字をふくんでいると質問のようなエラーになります。

カラム名に大文字を含んでいる場合は、

SELECT "diffVideos", "diffViews", "diffComments" FROM database;

のように カラム名を " (二重引用符)で囲ってください。

投稿2020/09/17 14:31

CHERRY

総合スコア25218

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問