SQLITE:内联视图还是嵌套子查询?

SQLITE:内联视图还是嵌套子查询?,sqlite,nested-queries,Sqlite,Nested Queries,我试图在两个简单的表上编写一个查询。表很简单,查询不是:) 无论如何。。。 以下是数据库方案: 下面是表内容的概述: 我正在尝试编写一个查询,该查询将列出相应表中的所有资产,前提是这些资产被标记为“需要”(表示布尔字段asset_owned=0),并且其他所有者将这些资产引用为“owned” 到目前为止,我已经做到了这一点,而且效果良好: SELECT user.user_pseudo AS REQUESTER, asset.asset_sku AS SKU, ass

我试图在两个简单的表上编写一个查询。表很简单,查询不是:)

无论如何。。。 以下是数据库方案:

下面是表内容的概述:

我正在尝试编写一个查询,该查询将列出相应表中的所有资产,前提是这些资产被标记为“需要”(表示布尔字段asset_owned=0),并且其他所有者将这些资产引用为“owned”

到目前为止,我已经做到了这一点,而且效果良好:

SELECT
    user.user_pseudo AS REQUESTER,
    asset.asset_sku AS SKU,
    asset.asset_name AS ASSET_NAME
FROM
    asset
INNER JOIN user ON asset.id_user = user.id
WHERE
    asset.asset_owned = 0
AND 
    asset.asset_sku IN (SELECT asset.asset_sku FROM asset   WHERE asset.asset_owned = 1)
但是,在同一个查询中(如果可能的话),我也想得到所有者的名字

对这些表进行此类查询的第一个结果是:

我,003,Test003,你

我尝试过内联选择和嵌套子查询,如:

SELECT
user.user_pseudo as ASKER,
asset.asset_sku as SKU,
asset.asset_name as NAME,
subquery1.user.user_pseudo as OWNER
FROM
asset
INNER JOIN user ON asset.id_user = user.id,
(SELECT user.user_pseudo.asset_asset_sku FROM asset INNER JOIN user ON asset.id_user = user.id WHERE asset.asset_owned = 1) subquery1
WHERE
asset.asset_owned = 0 AND
subquery1.asset.asset_sku IN (SELECT asset.asset_sku FROM asset INNER JOIN user ON asset.id_user = user.id WHERE asset.asset_owned=1)
但这当然行不通

谢谢你给我指点方向

新年快乐

Mathias

这对我来说很有趣(我正在学习SQL,所以这是一个很好的实践!)-我很欣赏这个非常清晰的问题

希望这对您有用-我使用了两个子查询(分别用于“所有者”和“请求者”),然后加入了关于SKU和名称的子查询。它在SQLite中使用上面显示的小样本数据

SELECT requester, subq1.SKU, subq1.name, owner
FROM 
   (SELECT pseudo AS requester, SKU, name
    FROM asset, user
    WHERE owned = 0
    AND user.id = id_user) subq1,
   (SELECT pseudo AS owner, SKU, name
    FROM asset, user
    WHERE owned = 1
    AND asset.id_user = user.id) subq2
WHERE subq1.SKU = subq2.SKU
AND subq1.name = subq2.name;

工作起来很有魅力,多亏了你,我学会了如何使用子查询。非常感谢,新年快乐。