Пример кода:
CREATE TABLE Foo
(
Id SERIAL NOT NULL,
Name TEXT NOT NULL,
DefaultValue BOOLEAN NOT NULL,
Active BOOLEAN NOT NULL
);
INSERT INTO Foo(Name, DefaultValue, Active)
VALUES ('aa', TRUE, FALSE);
INSERT INTO Foo(Name, DefaultValue, Active)
VALUES ('bb', TRUE, FALSE);
Мне нужен запрос, подобный этому, чтобы получить требуемый результат:
SELECT *
FROM Foo
WHERE Active = TRUE OR DefaultValue = TRUE;
И запрос должен возвращать записи aa, bb.
После добавления этих двух записей:
INSERT INTO Foo(Name, DefaultValue, Active)
VALUES ('cc', FALSE, TRUE);
INSERT INTO Foo(Name, DefaultValue, Active)
VALUES ('dd', FALSE, TRUE);
Запрос должен вернуть записи cc, dd.
Мне нужны только записи о первом условии, если они существуют. Еще я хочу записи второго условия.
Есть ли более простой подход для достижения этого результата в postgresql? Заранее спасибо