只有满足条件时,sql查询才会获得父级

时间:2015-08-19 20:50:30

标签: sql-server sql-server-2008

我有一个父ID列表。

我想要做的只是在子类型达到特定值时获取父ID。

这样的事情 -

select parentid from table
where parentid in (select parentid from table where name like '%123%' and name not like '%abc%'

每个孩子都有父母的引用。 所以,如果我有一个像这样的列表

parent1
  123
  abc
parent2
  123
  def
parent3
  123
  abc

我得到的回报只是孩子不包含abc

的父ID
parent2
  123
  def

1 个答案:

答案 0 :(得分:1)

您可以使用NOT EXISTS执行此操作:

SELECT parentid
FROM TABLE t1
WHERE NOT EXISTS (
        SELECT t2.parentid
        FROM TABLE t2
        WHERE t1.parentid = t2.parentid
          AND t2.NAME LIKE '%abc%'
        );