2017-05-08 14 views
-1

Photos TableSQL - クエリ文字列リクエスト

Projects Table

​​は、私がProject.Name、Project.Pro_ID、各Photo.Pr_IDためPhoto.PIDをCOUNTが必要Projects.Pr_ID

ため外部キーですそのプロジェクトのTOP 1 Photos.P_Path。クエリの条件パラメータとしてUser_Idを指定しています。結果はGROUP BY Projects.Pro_IDである必要があります。

答えて

0
SELECT Project.Name, Project.Pro_ID, sub.P_Path, COUNT(Photo.PID) 
FROM Project 
JOIN Photo ON Project.Pro_ID = Photo.Pro_ID 
JOIN (SELECT P_Path FROM Projects GROUP BY Pro_ID, P_Path) sub 
ON sub.Pro_ID = Project.Pro_ID 
GROUP BY Projects.Pro_ID, Project.Name, sub.P_Path 

これは、少なくともあなたが探している結果に比較的近づくはずです。これは、P_Path値がすべてのプロジェクトで重複していることを前提としています。可能であれば、サブクエリでSELECT TOP 1を実行しないことをお勧めします。

0

@Jacob H 必要な変更を加えました。

SELECT Projects.Name, Projects.Pro_ID, sub.P_Path, COUNT(Photos.PID) 
FROM Projects 
JOIN Photos ON Projects.Pro_ID = Photos.Pr_ID 
JOIN (SELECT Pr_ID,P_Path FROM Photos GROUP BY Pr_ID, P_Path) sub 
ON sub.Pr_ID = Projects.Pro_ID 
GROUP BY Projects.Pro_ID, Projects.Name, sub.P_Path 

しかし、結果では私は繰り返しProjects.Pro_IDが表示されます。最後に、プロジェクトIDを一度取得するだけです。