0
我有一个连接语句,就像这样:访问SQL使用在记录必须满足所有值
SELECT
distinct(p.id), p.id, p.first_name as [First Name], p.last_name as [Last Name]
FROM tbl_person as p ,
tbl_person_languages as pl
WHERE
pl.person_id = p.id AND
pl.language_id in (12,14,...)
但这返回所有记录。我想撤回具有pl.language_id所有值的个人的独特记录,而不仅仅是一个或多个值。我应该注意,IN语句中的值可能有1个或更多的值
有关如何执行此操作的任何想法?我试图改变这样的IN语句:
WHERE
pl.person_id = p.id AND
pl.language_id =12 AND
pl.language_id = 14
但这不会返回任何内容。
感谢您的帮助
谢谢您的答复。我试过了,但在查询表达式'COUNT(DISTINCT pl.language_id)= 2'中出现错误:语法错误(缺少运算符)。思考? – jason
也许'access'不接受'COUNT'内的'DISTINCT',尝试没有它。这只是一个问题,如果一个人可以有多个相同的lenguaje并改变计数结果。但是,在你的情况下可能无关紧要? –
是的,当我摆脱了Distinct关键字,这工作得很好。这应该是有效的,因为他们不能有多个language_id是相同的 – jason