こんにちは、私は2つのCTE式を1つに結合しようとしています。どのように私はこれを達成することができますか?あなたのコメントはとても貴重です。2つのCTEを1つのselect文に結合する方法
SELECT wf.WorkflowID
,COALESCE(STUFF((
SELECT distinct ''; '', '''' + cOPF.WorkflowLinkID
FROM Client_1_Workflow mopf`enter code here`
join Client_1_Workflow_Cell cOPF WITH(NOLOCK) on mopf.WorkflowID = cOPF.WorkflowLinkID
join Client_1_Workflow iwf WITH(NOLOCK) on cOPF.WorkflowID = wf.WorkflowID
where iwf.WorkflowID = wf.WorkflowID
FOR XML PATH(''''),TYPE).value(''(./text())[1]'',''VARCHAR(MAX)''),1,1,''''),'''') AS WorkflowID
from Client_1_Workflow wf WITH(NOLOCK)
SELECT wf.WorkflowID
,COALESCE(STUFF((
SELECT distinct ''; '', '''' +mopfn.WorkflowName
FROM Client_1_Workflow mopfn
join Client_1_Workflow_Cell cOPF WITH(NOLOCK) on mopfn.WorkflowID = cOPF.WorkflowLinkID
join Client_1_Workflow iwf WITH(NOLOCK) on cOPF.WorkflowID = wf.WorkflowID
where iwf.WorkflowID = wf.WorkflowID
FOR XML PATH(''''),TYPE).value(''(./text())[1]'',''VARCHAR(MAX)''),1,1,''''),'''') AS WorkflowName
from Client_1_Workflow wf WITH(NOLOCK)
これらはCTEではなく、2つの選択文です。列定義で副選択を使用しています。あなたの選択にはジョインはありませんが、あなたのサブセレクトにあります。とにかく、2番目の列から1番目の列に動的列をコピーするだけで、区切り文字列を同じものにすることができます。何も結合しようとしていない両方の副選択が必要です。 – Matt
...、cOPF.WorkflowLinkID 、mopfn.WorkflowName ....は、あるステートメントのLinkIDと、別のステートメントのWorkflowNameではなく、今後は、例を簡略化し、ステートメント間の相違点を明確にしておくと役立つかもしれません。 – Missy
@missy彼のCOALESCE(STUFF)動的列は、クエリ内のすべての行を1つの(この場合は)セミコロンで区切られた文字列に連結するためのメカニズムで、サブ選択内の何かを変更すると、区切られた文字列のインテントと値が変更されます。だからSelect ...仕事と名前は動作しません – Matt