好的,所以我需要一个表来提取数据。该表如下所示:
ID CO_ID Company
123456 ABC Company
5847 123456 Jim Bob Company
524863 John Smith Company
8975 Suzie Q United
77458 524863 Ha Ha Limited
我需要查询该表,以便向我提供与其他公司无关或与公司挂钩的所有公司。因此,每家公司都有一个ID,但只有少数公司有一个CO_ID,只有当它们与另一家公司联系时才会这样。我想只吸引那些与自己没有联系的公司。这些记录都存在于同一个表中。我似乎无法弄清楚如何进行比较,因此我得到了我正在寻找的结果。
编辑:在此示例中,只应返回8975。在现实生活中,该表中有3500条记录。
感谢。
杰森
答案 0 :(得分:2)
我认为您希望CO_ID
为空的所有行和ID
未被另一行引用。
SELECT *
FROM table
WHERE ID NOT IN (SELECT CO_ID FROM table WHERE CO_ID IS NOT NULL)
AND CO_ID IS NULL
答案 1 :(得分:2)
据推测,你想要这个:
SELECT *
FROM table t
WHERE NOT EXISTS (SELECT 1 FROM table t2 WHERE t2.CO_ID = t.ID) AND
CO_ID IS NULL;
请注意NOT IN
和NOT EXISTS
的语义略有不同。 “等效”NOT IN
查询不会返回任何行,因为CO_ID
会带有NULL
个值。
答案 2 :(得分:0)
尝试
$(".list-header").on('click', function(){
if($(this).find(".col-wrapper").css("display", "none")){
force data-state to be hide
}
});
如果空白条目为''(单个空格),则变为
SELECT id, company FROM table
WHERE id NOT IN (SELECT co_id FROM table WHERE co_id IS NOT NULL)
AND co_id IS NULL;
如果它们是''(空字符串),请使用