我提到了以下表格:
表1
ID cat_id Date key
IY-1 UTV-12 2018-03-18 15:04:25 xxt-14-yt
IY-2 UTV-12 2018-01-01 18:25:19 xxt-15-yt
IY-3 UTV-14 2018-03-05 13:12:14 xxt-17-yt
IY-4 UTV-15 2018-04-03 17:26:11 xxt-14-yt
表2
Key Value
xxt-14-yt Pending
xxt-15-yt Closed
xxt-17-yt Open
在上表中 cat_id
为特定类别用户分配的唯一id,以及 key
Map到状态。
我只想把那些行 cat_id
状态不等于 Closed
状态。
所需输出:
ID cat_id Date key
IY-3 UTV-14 2018-01-05 13:12:14 xxt-17-yt
IY-4 UTV-15 2018-07-03 17:26:11 xxt-14-yt
我使用下面提到的查询,但它不能正常工作。
查询:
select ID, cat_id, Date, key from Table1 t1
left join Table2 t2 on t1.key=t2.key
where t1.cat_id IN
(select cat_id from Table1 b1
left join Table2 b2 on b1.key=b2.key
where b2.Value!='Closed') and DATE(t1.Date)>='2018-03-01';
4条答案
按热度按时间vwkv1x7d1#
我没有测试它,但我认为它应该工作:
更简单的方法是:
mwngjboj2#
请检查以下查询:
li9yvcax3#
据我所知,你想要唯一唯一的猫的身份证:
vaqhlq814#
尝试反转选择:
这将排除具有utv-12的两行,因为其中一行被标记为关闭: