2016-05-24 24 views
0

IDには多くの日付(Registered)のテーブルがあります。私はそれぞれIDの最古の日付だけを返したいが、何か間違っている。私が最初にJOINAND s.ID IN...一部で推測します。SQL JOIN IN選択

私が間違っていることを理解できるように助けてもらえますか?

SELECT i.ID, MIN(s.Registered) AS 'Date', l.Name AS 'Status'  
FROM Installation i 
JOIN StatusLog s ON s.InstallationID = i.ID AND s.ID IN 
    (SELECT MIN(Registered) 
    FROM statuslog 
    WHERE status IN(5) 
    GROUP BY Installationid) 
JOIN StatusList l ON l.ID = s.Status 

答えて

0

ような何かを試すことができます: -

SELECT 
i.ID, 
MIN(s.Registered) AS 'Date', 
l.Name AS 'Status' 

FROM Installation i 
JOIN StatusLog s ON s.InstallationID = i.ID AND s.status=5 
JOIN StatusList l ON l.ID = s.Status 
group by i.ID,l.Name 
0

あなたはおそらく、クエリの下に試してみてください。この

SELECT 
i.ID 
,MIN(s.Registered) AS 'Date' 
,l.Name AS 'Status' 

FROM Installation i 
JOIN StatusLog s ON s.InstallationID = i.ID AND s.ID IN 
     (select MIN(Registered) from statuslog where status=5 group by Installationid) 
JOIN StatusList l ON l.ID = s.Status 
group by i.ID,l.Name