我有一个问题,我希望使用col5=2206
获取表中的所有行,然后选择col2和col3的所有其他行,其中col2和col3的组合与col5的组合相同(例如,在col2 =下面的示例中) 2,col3 = 6)
我还希望将返回的行筛选为col5中具有某些值的行(例如col5 = 4000)。
('101', '2', '6', '2009-12-31', '2206', 'Exempt', '0', '0', '0', '4', '5'),
('102', '2', '6', '2009-12-31', '4000', 'Exempt', '-1', '0', '0', '4', '5'),
('103', '2', '6', '2009-12-31', '1200', '', '1', '0', '0', '4', '5');
我尝试了各种子查询语句。但是无法像在一张桌子上一样工作。这有可能还是我需要创建一个更大的脚本。
最佳答案
您可以使用自我联接来实现所需的目标。
Select t2.*
From table t1
Join table t2 on ( t2.col2 = t1.col2 and t2.col3 = t1.col3 )
Where t1.col5 = '2206'
And t2.col5 <> '2206' -- replace that with specific filters like t2.col5 = '4000'
;