我在mysql中有2个表
user_titem
item_id item_name
------------------------
1 a
2 b
3 c
5 d
track
--------------------------------------------------------
track_no member_ID member_track track_type
1 2 1 titem
2 2 2 titem
3 2 3 titem
5 2 13 titem
6 2 5 titem
在track中,member_track将引用item_id,所以如果我这样做,请选择语句:
SELECT track.track_no ,track.track_type, user_titem.item_name ,user_titem.item_id
FROM track
LEFT JOIN user_titem ON track.member_track=user_titem.item_id
WHERE track.track_type = 'titem' and track.member_ID='2'
结果是
result
-----------------------------------
track_no track_type item_name item_id
5 titem NULL NULL
item_name和item_id为null,因为在track_no(5)中,member_track(请参阅item_id)不在user_titem中。
现在的问题是,当track_no的member_track为null时,如何直接在一个select语句中获取track_no。
我想要的结果
result
-----------
track_no
5
我该如何解决这个问题?
答案 0 :(得分:0)
为什么不试试
SELECT track_no FROM track where member_track NOT IN (SELECT item_id FROM user_titem)
我认为它会给出相同的结果。
答案 1 :(得分:0)
只需在WHERE
子句中添加其他检查:
SELECT track.track_no
FROM track
LEFT JOIN user_titem ON track.member_track=user_titem.item_id
WHERE track.track_type = 'titem' and track.member_ID='2'
AND user_titem.item_id is null