1
SELECT DISTINCT mp.Group_Name FROM measurement_test mt, measurement_point mp, measurement_values mv 
                        WHERE mt.Test_ID = mv.Test_ID AND mv.Point_ID = mp.Point_ID AND mt.ID_Number = 'WR20120603_05' 


SELECT DISTINCT mp.Group_Name FROM measurement_test mt, measurement_point mp, measurement_values mv 
                        WHERE mt.Test_ID = mv.Test_ID AND mv.Point_ID = mp.Point_ID AND mt.ID_Number = 'WR20120603_04'

上記は、私の Web ページで使用している 2 つのクエリです。実際には、2 つのクエリ間の結果の共通の group_name 値のみを取得したいのですが、この特定のシナリオを実装する方法、または上記の 2 つのクエリを単に実行する方法はありますか?

4

2 に答える 2

2
SELECT mp.Group_Name 
FROM measurement_test mt
inner join measurement_values mv on mt.Test_ID = mv.Test_ID
inner join measurement_point mp on mv.Point_ID = mp.Point_ID
WHERE mt.ID_Number in ('WR20120603_04', 'WR20120603_05')
group by mp.Group_Name
having count(distinct mt.ID_Number) = 2
于 2012-08-28T06:45:28.473 に答える
1

IN句を使用して簡略化できます。

SELECT DISTINCT mp.Group_Name 
FROM    measurement_test mt
            INNER JOIN measurement_point mp
                ON mt.Test_ID = mp.Test_ID
            INNER JOIN measurement_values mv 
                ON mv.Point_ID = mp.Point_ID
WHERE   mt.ID_Number IN ('WR20120603_05', 'WR20120603_04')
GROUP BY    mp.Group_Name 
HAVING      COUNT(mp.Group_Name) = 2
于 2012-08-28T06:47:09.247 に答える