SQL Server 2016では、比較対象の名前を含む2つのvarchar
列のテーブルがあります(SUBJECTとCOMPとしましょう)。比較値はA-> BでもB-> Aでも同じ値なので、両方を保存する点はないので、A-> Bのみを保存しています。それはSELECT
に新しい問題を引き起こします。基本的には:2つの交換可能な列のロジックを選択してください
CREATE TABLE myTable(Subject varchar(50), Comp varchar(50))
INSERT INTO myTable(Subject, Comp) values ('SDSD', 'CFGT')
INSERT INTO myTable(Subject, Comp) values ('FMIP', 'ABLQ')
INSERT INTO myTable(Subject, Comp) values ('FMIP', 'FMIP')
DECLARE @sub varchar(50), @comp varchar(50)
SET @sub = 'ABLQ', @comp = 'FMIP;
私は私に 『ABLQ』と 『FMIP』の組み合わせは、いずれかの列に存在することが可能な行を与える」と言うする方法を見つけ出すように見えることはできませんが、2つの列が両方が含まれている必要があります(つまり、 'ABLQ'/'ABLQ'と 'FMIP'/'FMIP'は返されませんが、 'ABLQ'/'FMIP'と 'FMIP'/'ABLQ' 2の一方のみが実際に存在してしまうので、私はいくつかの組み合わせを試したし、右のロジック部門でそれを得るように見えることはできません。私は任意の考え
SELECT *
FROM myTable
WHERE (Subject = @sub OR Comp = @sub)
AND (Subject = @comp OR Comp = @Comp)
AND (Subject <> @sub AND Comp <> @comp)
のようなもので終わる?
ありがとうございました!今では明らかになっている神ですが、キーボードで36時間を過ぎた後、私の名前はもはや分かりません。私は本当に私に明白なことを指摘するあなたの助けに感謝します。 –