0
내 데이터베이스에 다음과 같은 테이블이 있습니다, 예를 들어 사이트 "블루 레이크"조치 "온도"와 "물을 0 개 이상의 매개 변수를 측정 할 수SQL 쿼리 : N 관계
sites (SiteID, SiteName)
parameters(ParameterID, ParameterName, ParameterUnits)
sites_parameters(SiteID, ParameterID)
하나의 사이트에서 수평".
다음 SQL 쿼리를 작성해야합니다. 지정된 모든 매개 변수를 측정하는 모든 사이트를 찾습니다. 예를 들어 동일한 사이트에서 온도, 수위 및 압력을 측정하는 모든 사이트를 찾습니다. 이 매개 변수의
(가정은의 1과 2 인 매개 변수 ID) 다음 쿼리 작동 : 나는 3 개 이상의 매개 변수를 사용하여 사이트를 찾을 필요가 있다면
SELECT s.SiteID, s.SiteName, p1.ParameterID, p2.ParameterID
FROM sites s
INNER JOIN sites_parameters p1 ON s.SiteID = p1.SiteID
INNER JOIN sites_parameters p2 ON s.SiteID = p2.SiteID
WHERE p1.ParameterID = 1 AND p2.ParameterID = 2
이 어떻게 쿼리를 작성하려면 어떻게해야합니까? 나는 그것이 작동하도록 관리하는 유일한 방법은 각 추가 매개 변수에 대한 추가 INNER JOIN 문을 추가한다 : 쿼리를 작성하는 다른 방법이
SELECT s.SiteID, s.SiteName, p1.ParameterID, p2.ParameterID, p3.ParameterID
FROM sites s
INNER JOIN sites_parameters p1 ON s.SiteID = p1.SiteID
INNER JOIN sites_parameters p2 ON s.SiteID = p2.SiteID
INNER JOIN sites_parameters p3 ON s.SiteID = p3.SiteID
WHERE p1.ParameterID = 1 AND p2.ParameterID = 2 AND p3.ParameterID = 3
있습니까?
감사합니다! 첫 번째 쿼리가 완벽하게 작동합니다. – jirikadlec2