我有一个类似于以下问题的场景“加入逗号分隔的数据列”。但是这个问题是不同的,我需要从表 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]
。
预期结果
--- John,是的 --- (因为存在“R3”)
--- 亚历克斯,不 ---
--- 码头,没有 ---
--- Sara,是的 ---(因为存在“R1”)
问题
在 Oracle 8i 中编写此查询的最佳方法是什么?