只有在其他表中找到时才返回mysql结果集

时间:2012-09-07 21:12:34

标签: mysql sql

我不太擅长MySQL查询中的JOIN语句,所以我希望有人可以帮我解决这个问题:

两张表 - videos& video_groupsvideos中的条目包含字段groupid,该字段是对idvideo_groups的引用。我需要做的是仅返回video_groups至少有一个视频的结果......

喜欢的东西 SELECT * FROM video_groups WHERE video_groups.id...并且不知道如何继续......

我试图寻找一些东西,但由于我不知道该找什么,我迷失了:(

3 个答案:

答案 0 :(得分:2)

SELECT vg.*
    FROM video_groups vg
    WHERE EXISTS (SELECT 1
                      FROM videos v
                      WHERE v.groupid = vg.id)

答案 1 :(得分:1)

常规JOIN只会连接在两个表中找到行的行:

SELECT DISTINCT vg.id
FROM video_groups vg
JOIN videos v
ON vg.id = v.groupid
ORDER BY vg.id

答案 2 :(得分:0)

你可以这样做:

SELECT * FROM video_groups WHERE id = '...'