これを実行するより良い方法があると確信しています(SQL Server 2014)。SQL Server:条件付き連結
私は顧客、販売、または工場の承認を表す3つの列を持っています。値は「はい」または「いいえ」(サードパーティのアプリ)になります。選択した「はい」フィールドを最初のイニシャルの区切りリストに短縮する必要があります。たとえば、SalesとClientが「Yes」の場合、レポートに「S/C」を表示する必要があります。
それは時間に敏感だったように私は、今のところ、このようにそれをやったが、私は良い方法があります確信している:
case
when cfv1.CVFieldValue = 'Yes' and cfv2.CVFieldValue = 'Yes' and cfv3.CVFieldValue = 'Yes'
then 'P/S/C'
when cfv1.CVFieldValue = 'Yes' and cfv2.CVFieldValue = 'Yes' and cfv3.CVFieldValue = 'No'
then 'P/S'
when cfv1.CVFieldValue = 'Yes' and cfv2.CVFieldValue = 'No' and cfv3.CVFieldValue = 'Yes'
then 'P/C'
when cfv1.CVFieldValue = 'No' and cfv2.CVFieldValue = 'Yes' and cfv3.CVFieldValue = 'Yes'
then 'S/C'
when cfv1.CVFieldValue = 'Yes' and cfv2.CVFieldValue = 'No' and cfv3.CVFieldValue = 'No'
then 'P'
when cfv1.CVFieldValue = 'No' and cfv2.CVFieldValue = 'Yes' and cfv3.CVFieldValue = 'No'
then 'S'
when cfv1.CVFieldValue = 'No' and cfv2.CVFieldValue = 'No' and cfv3.CVFieldValue = 'Yes'
then 'C'
when cfv1.CVFieldValue = 'No' and cfv2.CVFieldValue = 'No' and cfv3.CVFieldValue = 'No'
then ''
end as OKBy
誰もがより良い方法を得ましたか。
TIA
マーク
Conctenate 3件/ xと最初のスラッシュを取り除く – Serg