簡體   English   中英

PostgreSQL選擇值兩列

[英]PostgreSQL Select values two columns

我有一個包含幾列的表,並且試圖選擇兩列中相等的值。

我正在創建一個簡單的選擇

select * from table_name where column1 = column_2

但它不會返回任何內容。

我做對了嗎? 當然,除非它會起作用:)但是,例如,如果我使用運算符

!=

它返回正確的行。 怎么了?

我不是在重現您的問題,這表明在創建表時您可能犯了一個錯誤? 我認為查詢不是問題。

這是我的示例,逐步進行。 首先,我們創建表(我使用的是PostgreSQL 9.1):

CREATE TABLE example(
id int,
name1 text,
name2 text
);

然后用以下行填充它:

INSERT INTO example (id, name1, name2)
VALUES (0, 'Bird', 'Cheese');
INSERT INTO example (id, name1, name2)
VALUES (1, 'Bear', 'Honey');
INSERT INTO example (id, name1, name2)
VALUES (2, 'Fish', 'Fish');
INSERT INTO example (id, name1, name2)
VALUES (3, 'Bread', 'Bread');

好的,現在,當我以您的格式使用查詢時,我應該獲得id = 2和id = 3的行:

SELECT * FROM example WHERE name1 = name2;

返回正確的結果:

 id | name1 | name2
----+-------+-------
  2 | Fish  | Fish
  3 | Bread | Bread

我建議您嘗試此示例,以查看它是否適用於您的PostgreSQL版本。 如果可以,那就太好了! 這意味着您的表實現可能只是在某個地方出錯(也許數據類型不匹配?)。 如果該示例不起作用,則說明您的PostgreSQL版本可能有問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM