我有一個類似於以下問題「join comma delimited data column」的場景。但是這個問題是不同的,我需要從表T1中選擇。連接帶和不連接列的表格
CREATE TABLE T1 ([col1] varchar(2), [col2] varchar(5));
INSERT INTO T1 ([col1], [col2], [col3])
VALUES
('C1', 'john',8),
('C2', 'alex',10),
('C3', 'piers',10),
('C4', 'sara',10);
CREATE TABLE T2 ([col1] varchar(2), [col2] varchar(8));
INSERT INTO T2 ([col1], [col2] , [col3])
VALUES
('R1', 'C1,C4',10),
(NULL, 'C3,C2,C5',10),
('R3', 'C5,C1,C4',8);
在最終的結果,我需要選擇從表T1的值,以及標誌是否存在在表T2的相應的非空值。加入時還需要考慮[col3]
。
預期結果
---約翰,是---(因爲 'R3' 存在)
---亞歷克斯,無---
- - 墩,無---
---薩拉,是---(因爲 'R1' 是存在的)
問題
在Oracle 8i中編寫此查詢的最佳方法是什麼?
更新參考文獻:[小提琴1](http://sqlfiddle.com/#!4/3c4a8/1)和 [小提琴2](http://sqlfiddle.com/#! 4/a4216/1) – Lijo
由於您使用8i,我認爲這是您無法控制的遺留數據庫。但是,仍然有人必須這樣說:對錶格進行規範化會使這更容易。 –