簡體   English   中英

MySQL:如何將別名委托給子查詢的子查詢?

[英]MySQL: how to delegate alias into subquery of subquery?

如何將DV_ID或DV.ID委托給第二個(更深的)子查詢? 可能嗎? (如果我只有一層嵌套,它將起作用。)

SELECT DV.ID DV_ID, (
SELECT COUNT(*) FROM (SELECT * MYTABLE VSV
WHERE VSV.ID = DV_ID //DV_ID is not seen...
GROUP BY VSV.ID) A ) B
FROM MYTABLE2 DV

在SELECT字段中使用別名時,在子查詢中看不到列表。 您可以使用DV.ID(DV是表的別名)。

在您的示例中:

SELECT DV.ID DV_ID

您可以將輸出別名替換為字符串,如下所示:

SELECT DV.ID "Hi my dear"

但不正確,請在查詢的其他部分中讀取該信息

您可以將特定查詢重寫為:

SELECT DV.ID as DV_ID,
       (SELECT COUNT(DISTINCT VSV.ID)
        FROM MYTABLE VSV
        WHERE VSV.ID = DV.ID //DV_ID is not seen...
       ) as B
FROM MYTABLE2 DV;

(注意:如果VSV.ID可以采用NULL值,則表達式將為SELECT COUNT(DISTINCT vsv.ID) + MAX(vsv.id is null) )。

暫無
暫無

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

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