0

这应该是一个比较简单的问题。我来自 Python 背景,不会做很多 SQL 的事情,所以我想在这里问这个格式化问题。

说我有一些东西

Criteria 1: True
Criteria 2: False
Criteria N: True

在 Postgresql 中,最好将数据库设置为:

Column: Criteria
Row: [1:True,2:False,N:True]

或将每个标准设置为自己的列?

4

1 回答 1

2

使用三个布尔列

CREATE TABLE t (
  criteria1 boolean,
  criteria2 boolean,
  criterian boolean
);

然后,您可以制定涉及这些列的查询:

SELECT *
  FROM t
 WHERE criteria1 = true
   AND criteria2 = false;

或者

SELECT *
  FROM t
 WHERE criteria1 = false
   OR criterian = true;

关系数据库就是为此而设计的。此外,您可以在这些列上创建索引。

于 2013-08-20T14:50:23.280 回答