超难的数据查询问题!

超难的数据查询问题!

在table1中:
id(人ID)   property(属性)
111           a
111           b
111           c
222           a
222           c
222           d

table2是:
bid(商业ID)   pp(任务属性)
004             ab
005             bc
006             cd
问题是这样的:当我要查询某人可以做什么项目的时候(即111有a/b/c,而004和005符合),就[U]列出相应的bid[/U].
(注:人属性不一定3个,任务属性也可以是多个,如bcdef.)
      
按题意,为什么只有004和005符合?006不也包含c吗?

MySQL下可写成
select distinct bid  from table2, table1
where table1.id='111' and instr(table2.pp, table1.property)>0


MSSqlServer下可写成
select bid from table2
where exists(
              select * from table1
              where table1.id='111' and instr(table2.pp, table1.property)>0
            )