簡體   English   中英

加入子查詢外的列

[英]Join with column outside subquery

SELECT t1.name as r_name, t1.values as r_values
FROM table as t1
JOIN (
    SELECT SUM(amount) as amount
    FROM database2.table
    WHERE ids IN (t1.values)
) as t2
WHERE t1.id = 20;

我收到一個錯誤,子查詢中的t1.values是未知列。

您需要重寫您的查詢並在where join條件:

SELECT t1.name as r_name, t1.values as r_values
FROM table as t1
JOIN (
    SELECT SUM(amount) as amount
    FROM database2.table
) as t2 ON t2.ids = t1.values
WHERE t1.id = 20;

另外,您不使用amount列,那么join的意義何在?

另一個問題,您沒有定義任何join條件。

我認為您需要先閱讀 SQL 中的join :)

您似乎正在嘗試根據t1.values列表將database2.table加入到您的t1中。 自從您使用聚合 function 以來,我在t2中添加了按 ID 分組。 然后,不確定您的sum(amount)的目的是什么

SELECT t1.name as r_name, t1.values as r_values
FROM table as t1
JOIN (
    SELECT SUM(amount) as amount, ids
    FROM database2.table
    GROUP BY ids
) as t2 on t2.ids IN (t1.values)
WHERE t1.id = 20;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM