Я сделал проект удаленного приложения поверх libpq для PostrgreSQL . Это ведет себя хорошо, но я представил общее функционирование приложения. Для каждого конечного результата, который я получаю, случается так, что я вызываю что-то вроде предложения 40 select (через tcpip).
У меня есть воспоминания от SQL-Server, напоминающие мне, чтобы минимизировать количество взаимодействий между моим удаленным приложением и базой данных. Проанализировав мои выборки, я думаю, что смогу сократить это число до 3-х SELECT
, используя объединения. Но я не помню синтаксис для использования результата a SELECT
в другом SELECT
.
Например:
SELECT * FROM individual
INNER JOIN publisher
ON individual.individual_id = publisher.individual_id
WHERE individual.individual_id = 'here I would like to use the results of a another select'
Этот другой SELECT
будет просто такого рода:
SELECT identifier FROM another_table WHERE something='something'
Вот упрощенная компоновка таблиц, несколько раз отклоненная для разных типов элементов ... (3 абсолютно разных типа, следовательно, 3 запроса SQL, если они оптимизированы).
table passage
id_passage PK
business_field_passage bytea
table item
id_item PK
id_passage FK
business_field_item text
table item_detail
id_item_detail PK
id_item FK
business_field_item_detail text
image_content bytea
Есть несколько id_item
для одного id_passage
.
Есть несколько id_item_detail
для одного id_item
.
Как бы вы это написали?
Как называется действие по перенаправлению одного выбора в другой (если есть)?