あなたの質問は、より明確ではないですが、あなたは、いくつかの動的なSQL
クエリで探していたよう:
DECLARE @prmCountry VARCHAR(MAX)= 'AU,UK,US';
DECLARE @SQL NVARCHAR(MAX)= N'';
DECLARE @Query NVARCHAR(MAX);
SELECT @SQL+=N' left join table_'+CC.Country+' on table_'+CC.Country+'.<column> = t1.<column>'
FROM
(
SELECT split.a.value('.', 'NVARCHAR(MAX)') [Country]
FROM
(
SELECT CAST('<A>'+REPLACE(@prmCountry, ',', '</A><A>')+'</A>' AS XML) AS Country
) C
CROSS APPLY Country.nodes('/A') AS split(a)
) CC;
SET @Query = 'SELECT * FROM tbl_abc t1'[email protected]+';';
PRINT @Query;
--EXECUTE sp_executesql @query
SQL
クエリプロデュース:
SELECT * FROM tbl_abc t1
left join table_AU on table_AU.<column> = t1.<column>
left join table_UK on table_UK.<column> = t1.<column>
left join table_US on table_US.<column> = t1.<column>;
- 上記では、最初に
@prmCountry
値を行形式に分割しました。
@prmCountry
値
でクエリに参加する最初のあなたは、行の形でウル国を分割する必要があります。ダイナミックな左を作成します。 –
あなたはそれらを結合する必要がありますか、UNIONを介して「結果を結合する」方が良いでしょうか? – Tyron78
はさらに説明が必要です。あなたのテーブルはどのように見えますか?出力はどのように見えますか? – Doruk