我有两张桌子:
健身房(ID*,名称,类型) gym_unlocked(ID*、裸子植物标识*、userID*)
我正在尝试执行一个SQL查询,该查询只在gym_unlocked表中不存在时从健身房表中检索行。
例如,如果我在健身房的表中有1行,其名称为"FirstGym“,类型为”强度“,如果该健身房的ID与gym_unlocked表中的任何一行不匹配,假设userID为2,那么它将从健身房的表中检索该行。
到目前为止,我已经:
SELECT ID,name,type
FROM gym
WHERE gym.id NOT IN gym_unlocked.gymID AND gym_unlocked.userID = 2但是它不起作用,所以他们有没有办法让我达到我想要做的?
发布于 2015-08-15 18:54:11
我不太熟悉mysql语法,但应该是这样的:
SELECT ID,name,type
FROM gym
WHERE gym.id NOT IN
(SELECT gym_unlocked.gymID
FROM gym_unlocked
WHERE gym_unlocked.userID = 2)我想您正在收到关于gym_unlocked表的错误。为了与该表建立连接,需要对此表使用左联接或使用SUBSELECT。
发布于 2015-08-15 18:53:59
SELECT g.ID, g.name, g.type
FROM gym g
left join gym_unlocked u on g.id = u.gymID
AND u.userID = 2
WHERE u.gymID is null https://stackoverflow.com/questions/32028117
复制相似问题