微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从一个表中检索数据,取决于 PostgresSql 中的另一个表数据

如何解决从一个表中检索数据,取决于 PostgresSql 中的另一个表数据

我在桌子上工作。我有三个表名 StockInfos, TransferInfos,TransferInfoDetails

下面给出了这些表的图像视图。

股票信息

enter image description here

传输信息

enter image description here

转移信息详情

enter image description here

现在,场景是,

  1. 我为产品 1产品 2公司 1公司 2 进行了交易.因此,一个 TransferInfo 是由 Id = 1 创建的,而两个 TransferInfoDetails 是由 Id = 1Id = 2 创建的。 TransferInfoDetails 都包含 TransferInfoId = 1 作为 TransferInfoId一个 Foreign KeyTransferInfoDetails 相应地包含 ProductId = 1ProductId = 2

  2. 然后,我从公司 2公司 1 进行了另一笔仅针对 产品 2 的交易。 因此,另一个 TransferInfoId = 2 创建,一个 TransferInfoDetailsId = 3 创建,TransferInfoDetail 包含 {{ 1}}。

现在,如果我想删除第一次传输信息,这是不允许的,因为它的一个产品(产品 2)出现在另一个传输信息中,该信息是在第一次传输信息之后创建的。因此,用户必须先删除上次传输信息,然后再删除传输信息。因此,条件是,如果创建了转移信息,其详细信息包含已出现在先前转移信息详细信息中的任何产品 ID,则无法删除先前转移信息。

在这个例子中

  1. 删除传输信息 2 之前删除传输信息是不允许的,因为它的一个产品(产品 1)出现在另一个传输信息细节中。

  2. 所以,先删除转移信息2,然后再删除转移信息1

现在,虽然我想检索 TransferInfos 的列表,但我想根据 TransferInfoDetails 中的 Product 获得一个名为 ProductId = 2 的标志。意味着,如果 TransferInfoDetails 中的任何一个 Product Of TransferInfoDetails 出现在当前传输之后创建的另一个横断面中,则 IsDeletable 标志将设置为 IsDeletable,否则为 NO

那么,如何在 Posgres 函数中使用 Postgressql 实现它???

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。