【发布时间】:2020-05-19 16:28:20
【问题描述】:
我正在 SQL Server 中创建一个数据库查询,以检索与合同对应的所有合同项目详细信息。
合同将在 CONTRACT_ITEM 表中存储多个项目。 (1:N)
某些合同项目将在税表中存储与其关联的税。 (1:1)
某些合同项目将具有关联的税表列。此列名称可以通过单独的选择查询(例如 SELECT1)找到,并且对于所有合同项目都是相同的。例如,一个客户是“c1”,另一个客户是“c2”,但每个客户都有自己的一组表。
第 3 步中标识的列(即“c1”)将存储 AMAZ_ID。
为了获取合同的合同项目详细信息,我编写了以下查询。但不清楚如何检索每个Contract_Item的AMAZ_CODE
select ci.contract_item_id, tax.tax_id
from contract_item ci
join contract cc on cc.contract_id = ci.contract_id
left join tax on ci.tax_id = tax.tax_id
where cc.contract_id = 1234
现在假设 SELECT1 返回 c1 ,那么对于每个 contract_item 还需要运行以下查询并包含在合同项目详细信息中。
下面的查询也需要强制转换选择
select amaz_code
from amaz aa
where aa.amaz_id = (select cast(c1 as int) from contract_item_tax_form)
能否指出如何为每个合同项包含 AMAZ_CODE ?
【问题讨论】:
标签: sql sql-server