小编Van*_*212的帖子

如何从一个表中获取所有记录并查看它们是否在没有子查询的情况下在另一个表中使用

我正在尝试编写一个 SQL 语句,从一个表中提取所有记录并查看它们是否在另一个表中使用。SQL 不是我最擅长的语言,所以我确信这是一个非常简单的查询。这是我的两个表:

tblOrderContracts
--------------------------------------
OrderContractID           | bigint
OrderID                   | bigint
UserContractID            | bigint
UserName                  | varchar
OrderContractDateCreated  | datetime
OrderContractStatus       | varchar



tblUserContracts
-------------------------------------
UserContractId            | bigint
UserName                  | varchar
UserContractName          | varchar
UserContractFileName      | varchar
UserContractDateCreated   | datetime
UserContractStatus        | varchar
Run Code Online (Sandbox Code Playgroud)

用户可以将任意数量的合约应用到一个订单,所以我需要做的是获取所有合约的列表,并查看它们是否按特定顺序使用。现在,我使用子查询来完成工作,但如果不需要,我不喜欢使用子查询。

SELECT uc.UserContractId, uc.UserContractName,
(SELECT oc.OrderID FROM tblOrderContracts as oc WHERE uc.UserContractID = 
oc.UserContractID AND oc.OrderID = 466 AND OrderContractStatus = 
'Active')
FROM tblUserContracts as uc
WHERE uc.UserName = 'vandel212' AND UserContractStatus = 'Active'
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望得到一个如下所示的结果集,如果 OrderID …

optimization subquery

5
推荐指数
1
解决办法
491
查看次数

标签 统计

optimization ×1

subquery ×1