如何通过条件从表中获取另一个表中的值

时间:2015-08-17 22:14:25

标签: mysql hive hadoop2

Table A
----------
Roll NO
1
2

Table B :
---------
ROllNo , Date                                         
1,            2012
1,                                                            
2,            2013
2,            2014

例如:

我应该得到结果卷号:2,因为表A中的记录只有当表B中的特定键出现时才应显示在结果集中。在上面的例子中,只有表A中的2号卷已经表B中的2条记录。请帮助我得到结果。

1 个答案:

答案 0 :(得分:1)

一个选项是选择所有具有NULL日期的值,然后选择所有未出现在该列表中的值:

SELECT Roll
FROM table
WHERE Roll NOT IN (SELECT Roll
                   FROM table
                   WHERE date IS NULL)

另一种选择,使用GROUP BY

SELECT Roll
FROM table
GROUP BY Roll
HAVING COUNT(date IS NULL) = 0;