簡體   English   中英

如何在MySQL中的組concat子查詢中使用父列?

[英]How to use parent column inside group concat subquery in mysql?

我是mysql新手。 我想在concat()組內的子查詢中使用父列。

我有以下查詢。

select parenttable.id,
parenttable.name,
group_concat
(
    case when parenttable.id=1 then
    (
    select childtable.name, from c_table childtable 
    where childtable.id=parenttable.id
    )

    case when parenttable.id=2 then
    (
    select childtable.name from c_table childtable 
    where childtable.id=parenttable.id
    ) 

    end;

)
from p_table parenttable

上面的查詢顯示“ Unknown column parenttable.id”。 有什么解決方案可以解決。

請幫我。 提前致謝...

嘗試使用連接...

SELECT id,name,GROUP_CONCAT(GP_ID) FROM
     (
      select parenttable.id,
        parenttable.name,
        group_concat(
            case when parenttable.id=1 then
            concat(childtable.id,',',childtable.name)
             when parenttable.id=2 then
          concat(childtable.id,',',childtable.name)
         ELSE NULL  
         end
        ) AS GP_ID
        from p_table  parenttable LEFT OUTER JOIN
        c_table childtable
        ON
        childtable.id=parenttable.id
    GROUP BY parenttable.id 
)  A  

暫無
暫無

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

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