intersect
과 같은 결과를 내거나 생성하는 인라인 sql 명령이 있습니까? 그렇지 않으면 쿼리를 다시 작성하여 intersect
을 사용하는 대신 하나의 쿼리에 포함시킬 수 있습니까?SQL 인라인 in intersect
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)
하지만 난 정말 이후 해요 무엇 :
나의 현재 SQL 쿼리는
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 = 95
INTERSECT
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 = 1
감사
두 번째 쿼리는 실제로 어떤 데이터를 반환합니까? 분명히,'cs.classselection_link'는 1과 95가 될 수 없습니다. 실제로 두 번째 질의에서 요구하는 것이기 때문입니다. –
예, 기본적으로 classValues는 class_link 및 classSelection_link를 보유합니다. 기본적으로 다 대다 관계이고 전달 된 classSelection에 모두 접촉하는 모든 클래스를 원합니다. – lancscoder
왜 'INTERSECT'를 사용하지 않으시겠습니까? 그것은 이유가 있기 때문에 존재하며 그것은 귀하와 같은 경우입니다. 다른 방법으로 쿼리를 작성할 수 있지만 예제에서와 같이 'INTERSECT'를 사용하는 것보다 훨씬 덜 명확합니다. 코드를 난독 화하려는 이유가 있습니까? – JNK