Вы всегда можете сделать:
SELECT DISTINCT
c.Log_Link
FROM
Classes c INNER JOIN
ClassValues cv1 ON c.Class_Link = cv1.Class_Link INNER JOIN
ClassSelection cs1 ON cv1.ClassSelection_Link = cs1.ClassSelection_Link
INNER JOIN
ClassValues cv2 ON c.Class_Link = cv2.Class_Link INNER JOIN
ClassSelection cs2 ON cv2.ClassSelection_Link = cs2.ClassSelection_Link
WHERE
cs1.classselection_link = 95
AND
cs2.classselection_link = 1
или с GROUP BY :
SELECT
c.Log_Link
FROM
Classes c INNER JOIN
ClassValues cv ON c.Class_Link = cv.Class_Link INNER JOIN
ClassSelection cs ON cv.ClassSelection_Link = cs.ClassSelection_Link
WHERE
cs.classselection_link IN (95,1)
GROUP BY
c.Class_Link
HAVING
COUNT(c.Class_Link) = 2
, и так как вам действительно не нужна таблица ClassSelection
:
SELECT
c.Log_Link
FROM
Classes c INNER JOIN
ClassValues cv ON c.Class_Link = cv.Class_Link
WHERE
cv.ClassSelection_Link IN (95,1)
GROUP BY
c.Class_Link
HAVING
COUNT(c.Class_Link) = 2
Как указал gbn, я предположил, что (Class_Link, ClassSelection_Link)
равно UNIQUE
в таблице ClassValues
.
Если это не так, то предложение HAVING в последних 2запросы должны быть изменены на:
HAVING
COUNT(DISTINCT cv.ClassSelection_Link) = 2