0
我有一個查詢,如下所示:乘法Case語句在caluse
SELECT s.samplename,
s.sampletype,
s.specimancateg,
s.panel,
s.plateid,
s.status,
s.tarikh,
s.sampletype2,
s.geneticanalyzer,
s.positive,
s.negative,
s.allelicladder,
s.kitname,
UD1a.allel,
UD2a.allel
FROM samples s
INNER JOIN ud1 UD1a
ON s.samplename = UD1a.samplename
INNER JOIN ud2 UD2a
ON s.samplename = UD2a.samplename
WHERE (CASE
WHEN (Regexp_like(UD2a.allel, '(.*1|.*2|.*3|.*4){4}', 'n')) THEN (
CASE
WHEN
Regexp_count(UD2a.allel, ',') + 1 != 4 THEN 0
ELSE
1
END)
END) + (CASE
WHEN (Regexp_like(UD1a.allel, '(.*1){1}', 'n')) THEN (
CASE
WHEN
Regexp_count(UD1a.allel, ',') + 1 != 1 THEN 0
ELSE 1
END)
END) >= 1;
如果我有兩個樣本是這樣的:
UD1:
|SampleName|Allel
|F1 |1
|F2 |1,2,3,4
UD2:
|SampleName|Allel
|F1 |1
|F2 |1,2,3,4
這是我的理解,結果應該包含兩個樣本,但我只得到samlpe F2。爲什麼?
@toha感謝您的編輯。 – user4274779