Sql 如何联接两个select语句

Sql 如何联接两个select语句,sql,sql-server,date,Sql,Sql Server,Date,我有四张桌子。我独立编写了两个查询,这些查询正在运行。但是我想做的是连接这两个查询并生成一个结果 这是我的密码 问题#1 问题2: batch\u no对于loadinglist\u fabrics\u items表和packingslist\u fabrics\u items表是唯一的 查询结果1 查询结果2 预期产量 像这样尝试,我假设您使用的是SQL Server SELECT A.* ,B.* FROM ( SELECT pm.DATE ,pm.cus

我有四张桌子。我独立编写了两个查询,这些查询正在运行。但是我想做的是连接这两个查询并生成一个结果

这是我的密码

问题#1

问题2:

batch\u no
对于
loadinglist\u fabrics\u items
表和
packingslist\u fabrics\u items
表是唯一的

查询结果1

查询结果2

预期产量


像这样尝试,我假设您使用的是SQL Server

SELECT A.*
    ,B.*
FROM (
    SELECT pm.DATE
        ,pm.customer
        ,pm.gp_no AS Gatepass_Num
        ,pf.style
        ,pf.color
        ,pf.batch_no
        ,COUNT(pf.roll_no) AS Roll_QTY
        ,SUM(pf.meter) AS QTY
    FROM packinglists_fabrics_items pf
        ,packinglists_main pm
    WHERE pf.p_id = pm.id
        AND pm.DATE BETWEEN {DateR
                ,RANGE1}
            AND {DateR
                ,RANGE2}
        AND pm.customer_id = "{factory,false}"
    GROUP BY pm.DATE
        ,pm.gp_no
        ,pf.style
        ,pf.color
        ,pf.batch_no
    ) A
INNER JOIN (
    SELECT lo.DATE
        ,lo.customer_name
        ,flo.style
        ,flo.color
        ,flo.batch_no
        ,COUNT(flo.rowno) AS Roll_QTY
        ,SUM(flo.meter) AS QTY_Meter
    FROM loadinglists_fabrics_items flo
        ,loadinglists lo
    WHERE flo.p_id = lo.id
        AND lo.DATE BETWEEN {DateR
                ,RANGE1}
            AND {DateR
                ,RANGE2}
        AND lo.customer_id = "{factory,false}"
    GROUP BY lo.DATE
        ,flo.style
        ,flo.color
        ,flo.batch_no
    ) B ON A.batch_no = B.batch_no

尝试这样做,我假设您使用的是SQL Server

SELECT A.*
    ,B.*
FROM (
    SELECT pm.DATE
        ,pm.customer
        ,pm.gp_no AS Gatepass_Num
        ,pf.style
        ,pf.color
        ,pf.batch_no
        ,COUNT(pf.roll_no) AS Roll_QTY
        ,SUM(pf.meter) AS QTY
    FROM packinglists_fabrics_items pf
        ,packinglists_main pm
    WHERE pf.p_id = pm.id
        AND pm.DATE BETWEEN {DateR
                ,RANGE1}
            AND {DateR
                ,RANGE2}
        AND pm.customer_id = "{factory,false}"
    GROUP BY pm.DATE
        ,pm.gp_no
        ,pf.style
        ,pf.color
        ,pf.batch_no
    ) A
INNER JOIN (
    SELECT lo.DATE
        ,lo.customer_name
        ,flo.style
        ,flo.color
        ,flo.batch_no
        ,COUNT(flo.rowno) AS Roll_QTY
        ,SUM(flo.meter) AS QTY_Meter
    FROM loadinglists_fabrics_items flo
        ,loadinglists lo
    WHERE flo.p_id = lo.id
        AND lo.DATE BETWEEN {DateR
                ,RANGE1}
            AND {DateR
                ,RANGE2}
        AND lo.customer_id = "{factory,false}"
    GROUP BY lo.DATE
        ,flo.style
        ,flo.color
        ,flo.batch_no
    ) B ON A.batch_no = B.batch_no

MySQL还是MS SQL Server?不标记未涉及的产品。如何组合?显示的是一些示例数据,以及组合结果!尝试设置查询的格式。编辑、标记代码,单击
{}
。始终简化代码。您不必包含查询的每个字段。提出问题,获得想法和解决方案,应用于你的问题。@jarlh我已经用一些输出更新了问题。看看MySQL或MS SQL Server?不标记未涉及的产品。如何组合?显示的是一些示例数据,以及组合结果!尝试设置查询的格式。编辑、标记代码,单击
{}
。始终简化代码。您不必包含查询的每个字段。提出问题,获得想法和解决方案,应用于你的问题。@jarlh我已经用一些输出更新了问题。看一看
SELECT A.*
    ,B.*
FROM (
    SELECT pm.DATE
        ,pm.customer
        ,pm.gp_no AS Gatepass_Num
        ,pf.style
        ,pf.color
        ,pf.batch_no
        ,COUNT(pf.roll_no) AS Roll_QTY
        ,SUM(pf.meter) AS QTY
    FROM packinglists_fabrics_items pf
        ,packinglists_main pm
    WHERE pf.p_id = pm.id
        AND pm.DATE BETWEEN {DateR
                ,RANGE1}
            AND {DateR
                ,RANGE2}
        AND pm.customer_id = "{factory,false}"
    GROUP BY pm.DATE
        ,pm.gp_no
        ,pf.style
        ,pf.color
        ,pf.batch_no
    ) A
INNER JOIN (
    SELECT lo.DATE
        ,lo.customer_name
        ,flo.style
        ,flo.color
        ,flo.batch_no
        ,COUNT(flo.rowno) AS Roll_QTY
        ,SUM(flo.meter) AS QTY_Meter
    FROM loadinglists_fabrics_items flo
        ,loadinglists lo
    WHERE flo.p_id = lo.id
        AND lo.DATE BETWEEN {DateR
                ,RANGE1}
            AND {DateR
                ,RANGE2}
        AND lo.customer_id = "{factory,false}"
    GROUP BY lo.DATE
        ,flo.style
        ,flo.color
        ,flo.batch_no
    ) B ON A.batch_no = B.batch_no