postgresql – 在另一个SELECT的WHERE子句中使用SELECT

前端之家收集整理的这篇文章主要介绍了postgresql – 在另一个SELECT的WHERE子句中使用SELECT前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经在Postrgresql的libpq上创建了一个草案远程应用程序.它表现良好,但我已经分析了应用程序的一般功能.对于我生成的每个最终业务结果,我会调用40 select子句(通过tcpip).

我有来自sql-Server的回忆,提醒我最小化远程应用程序和数据库之间的交互次数.分析了我的选择后,我认为我可以使用连接将此数字减少为3个SELECT子句.但我不记得在另一个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'

这是简化的表格布局,对于不同的item_types拒绝了很多次…(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_passage有几个id_item.
一个id_item有几个id_item_detail.

你会怎么写的?
描述将一个选项重定向到另一个选项(如果有)的操作的名称是什么?

这是你的目标吗?确保要比较的字段具有可比性(即两个字段都是数字,文本,布尔值等).
SELECT * FROM Individual
INNER JOIN Publisher
ON Individual.IndividualId = Publisher.IndividualId
WHERE Individual.IndividualId = (SELECT someID FROM table WHERE blahblahblah)

如果您希望根据多个值进行选择:

SELECT * FROM Individual
INNER JOIN Publisher
ON Individual.IndividualId = Publisher.IndividualId
WHERE Individual.IndividualId IN (SELECT someID FROM table WHERE blahblahblah)

猜你在找的Postgre SQL相关文章