gpt4 book ai didi

SQLITE : inline views or nested subqueries?

转载 作者:行者123 更新时间:2023-12-03 18:47:25 24 4
gpt4 key购买 nike

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

反正...
这是数据库方案:
enter image description here

这是表格内容的概述:

enter image description here

我正在尝试编写一个查询,该查询将列出相应表中的所有 Assets ,前提是这些 Assets 被标记为“想要”(意味着 bool 字段asset_owned = 0)并且被另一个所有者引用为“拥有”。

这就是我到目前为止所拥有的并且有效:

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 和嵌套子查询,例如:
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)

但这当然行不通。

感谢您可以指出我的任何方向。

新年快乐

马蒂亚斯

最佳答案

所以这对我来说很有趣(我正在学习 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;

关于SQLITE : inline views or nested subqueries?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34523760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com