检查id是否在列中

时间:2012-01-13 19:05:37

标签: mysql

我有一个包含元素的表,我可以将这些元素链接到页面。要做到这一点,我做了一个表,pageRelations。所以现在我想得到没有链接到页面的元素。

SELECT `elements`.*, `pageRelations`.`pageId`, `pageRelations`.`elementId`
FROM (`parts`, `pageRelations`)
WHERE `pageRelations`.`pageId` = '1'
AND `parts`.`id` NOT IN (pageRelations.relationId)

结果不正确。

感谢您的帮助..

2 个答案:

答案 0 :(得分:0)

这表示获取在页面关系表中找不到元素的所有元素。

SELECT e.* 
FROM elements AS e
WHERE e.Id NOT IN (
    SELECT DISTINCT elementId 
    FROM pageRelations
);

答案 1 :(得分:-1)

你可能正在寻找类似的东西。

SELECT e.*
FROM elements AS e
LEFT JOIN pageRelations AS pr
ON  e.Id = pr.elementId
WHERE pr.elementId IS NULL