2017-04-24 3 views
0

私は非常にSQLに新しく、私はいくつかの他のテーブルにレコードを持たないすべてのプロジェクトを取得しようとしています。例えば;多くのプロジェクトとプロジェクトには多くのソースがありますが、ソースがまったくないプロジェクトもあります。私は他のテーブルにレコードを持っていないプロジェクトだけを取得したい...これは私が試したコードですが、それでも私はソースを持ついくつかのプロジェクトを提供します。誰もがこれで私を助けることができますか?ありがとう!他のテーブルにレコードを持たないすべてのオブジェクトを取得する

SELECT   
        p_Project.Project_ID as Id 
        , p_Project.ProjectNum 
        , p_Project.ProjectName 
        , p_Project.Client_ID 
        , p_Project.Industry 
        , p_Project.ProjectStatus 
        , p_Project.EffectiveDate 
        , p_Project.ProjectOrigination 
        , p_Project.ProjDateClosed 
        , p_Project.PrimaryMaterial 
        , p_Project.PrimaryService 
        , p_Project.PrimarySource 
        , p_Project.ProjectCategory 
        , p_Client.Client_ID as Id 
        , p_Client.ClientName 
      FROM p_Project 
       LEFT OUTER JOIN 
        p_Client ON p_Project.Client_ID = p_Client.Client_ID 
      WHERE p_Project.Project_ID IN ( SELECT p_Project.Project_ID 
           FROM p_Project 
           LEFT OUTER JOIN p_Client ON p_Project.Client_ID = p_Client.Client_ID WHERE p_Project.Project_ID IN (SELECT p_Project.Project_ID as Id FROM p_Project WHERE p_Project.ProjectStatus ='active') AND p_Project.Project_ID IN (SELECT p_Project.Project_ID as Id FROM p_Project LEFT OUTER JOIN p_Project_Pricing ON p_Project.Project_ID = p_Project_Pricing.Project_ID WHERE ( p_Project_Pricing.SourceCode IS NULL OR p_Project_Pricing.SourceCode LIKE N'') AND (p_Project.PrimarySource IS NULL OR p_Project.PrimarySource LIKE N'')) 
           GROUP BY p_Project.Project_ID, p_Client.ClientName, p_Project.ProjectName, p_Project.ProjectNum 
           ORDER BY p_Client.ClientName, p_Project.ProjectName, p_Project.ProjectNum 
           OFFSET (0) ROWS FETCH NEXT (25) ROWS ONLY) 
+0

サンプルテーブルのデータと期待される結果を書式付きテキストで追加することを検討してください。 – TheGameiswar

答えて

1

以下を試してください。

select proj.* from [yourprojtable] proj 
left join [yoursourcetable] src 
on proj.projid = src.projid 
where src.projid is null 

クエリでは、where P_Client.Client_idがnullの場合のwhere条件を変更してみてください。

+0

10億に感謝!これは本当に私のために働いた! – BYG

+0

@BYGこれが役に立つと分かった場合は、これを回答として受け入れることもできます。 – Coder1991

関連する問題