Sql Excel VBA中连接表的问题

Sql Excel VBA中连接表的问题,sql,excel,vba,Sql,Excel,Vba,我正在尝试使用crystal report sql并转换它,以便在excel中使用它。我在Excel中连接语句的语法方面遇到了问题。我可以单独做几张桌子,但不能把它们组合起来 来自crystal reports:我试图复制的内容: 前一个有效的: 就我所知:三者结合有困难 提前感谢。用于Crystal Reports的SQL Server存储过程 您希望看到的任何向Crystal Reports客户端提供数据的查询都应该由SQL Server存储过程中发出的最后一条SELECT语句表示。此示例指

我正在尝试使用crystal report sql并转换它,以便在excel中使用它。我在Excel中连接语句的语法方面遇到了问题。我可以单独做几张桌子,但不能把它们组合起来

来自crystal reports:我试图复制的内容:

前一个有效的:

就我所知:三者结合有困难

提前感谢。

用于Crystal Reports的SQL Server存储过程 您希望看到的任何向Crystal Reports客户端提供数据的查询都应该由SQL Server存储过程中发出的最后一条
SELECT
语句表示。此示例指向表名和类型的SQL数据字典

  • 在Crystal Reports客户端和SQL数据库服务器之间定义DSN连接。在此之前,可能已经设计了其他报告之一

  • 存储过程应该与Crystal report writer在选择要使用的db对象时通常找到的其他对象一起显示在其架构目录中

  • 注意,可以对过程进行参数化,并在整个过程中使用其输入变量

  • SELECT "Material_Req"."Job", "Material_Req"."Pick_Buy_Indicator", "Material_Req"."Material", "Material_Req"."Description", "Material_Req"."Vendor_Reference", "PO_Detail"."PO", "Material_Req"."Est_Qty", "Source"."Act_Qty", "PO_Header"."Vendor", "PO_Detail"."Due_Date"
     FROM   (("PRODUCTION"."dbo"."Material_Req" "Material_Req" LEFT OUTER JOIN "PRODUCTION"."dbo"."Source" "Source" ON "Material_Req"."Material_Req"="Source"."Material_Req") LEFT OUTER JOIN "PRODUCTION"."dbo"."PO_Detail" "PO_Detail" ON "Source"."PO_Detail"="PO_Detail"."PO_Detail") LEFT OUTER JOIN "PRODUCTION"."dbo"."PO_Header" "PO_Header" ON "PO_Detail"."PO"="PO_Header"."PO"
     WHERE  "Material_Req"."Pick_Buy_Indicator"='b' AND "Material_Req"."Est_Qty">"Source"."Act_Qty"
     ORDER BY "Material_Req"."Job"
    
    sqlMatlReq = "select job.job,  material_req.vendor_reference, material_req.Material,'' As Description, material_req.Vendor," _
            & "(material_req.est_qty) As Qty, (material_req.act_qty) As Qty,   " _
            & "material_req.due_date, " _
            & " material_req.status " _
            & "from (material_req inner join job on material_req.job=job.job) " _
            & "left join material on material_req.material=material.material " _
            & "where material.material is not null " _
            & "and job.part_number is not null " _
            & "and Job.Status in('Active') " _
            & "and material_req.act_qty in('0') " _
            & "Union all " _
            & "select job.job, material_req.vendor_reference, material_req.Material, material_req.description, material_req.Vendor," _
            & "(material_req.est_qty), (material_req.act_qty) As Qty," _
            & " material_req.due_date, material_req.status " _
            & "from (material_req inner join job on material_req.job=job.job) " _
            & "left join material on material_req.material=material.material " _
            & "where material.material is null " _
            & "and job.part_number is not null " _
            & "and Job.Status in('Active') " _
            & "and material_req.act_qty in('0') " _
            & "order by job.job;"
    
    'sqlMatlReq = "select job.job, material_req.material, material_req.Vendor_Reference, material_req.description, material_req.Est_Qty  " _
          '& "from (material_req inner join job on material_req.job=job.job) " _
    
    'sqlMatlReq = "select source.Act_Qty, PO_Detail.PO, PO_Detail.Due_Date " _
          '& "from source left outer join PO_Detail on source.Act_qty=PO_Detail.PO_Detail "
    
    'sqlMatlReq = "select PO_Header.vendor " _
          '& "from PO_Header"
    
     CREATE PROCEDURE sp_SampleProcedure
        AS
     
     BEGIN 
     SET NOCOUNT ON;
    
     SELECT table_catalog, table_schema, table_name, table_type
       FROM tbldm.information_schema.tables 
      WHERE table_schema = 'dbo'
        AND table_type = 'BASE TABLE';
    
     END;