Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从另一个表中获取记录数_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 从另一个表中获取记录数

Sql 从另一个表中获取记录数,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有这样一个观点: 它是使用以下SQL语句定义的: SELECT p.p_ccode AS C_CODE, p.p_pcode AS P_CODE, p.p_phcode AS PH_CODE, PO.m_doc_type AS TYPE, PO.crtime AS DATE FROM TABLE1 AS p LEFT OUTER JOIN DOCTABLE AS PO ON PO.m_ccode = p.p_ccode

我有这样一个观点:

它是使用以下SQL语句定义的:

SELECT
    p.p_ccode AS C_CODE,
    p.p_pcode AS P_CODE,
    p.p_phcode AS PH_CODE,
    PO.m_doc_type AS TYPE,
    PO.crtime AS DATE
FROM 
    TABLE1 AS p
LEFT OUTER JOIN 
    DOCTABLE AS PO ON PO.m_ccode = p.p_ccode
                   AND PO.m_pcode = p.p_pcode
                   AND PO.m_phcode = p.p_phcode
现在,我想根据
C\u code
p\u code
PH\u code
计算另一个表(
table 2
)的记录,并在我的视图中将其显示为一列
TOTAL

我该怎么做


一种方法是使用子查询:

SELECT
    p.p_ccode AS C_CODE,
    p.p_pcode AS P_CODE,
    p.p_phcode AS PH_CODE,
    PO.m_doc_type AS TYPE,
    PO.crtime AS DATE,
    (select count(*) from tale2 t2 where t2.C_CODE = p.p_ccode and t2.P_CODE = p.P_CODE and t2.PH_CODE = p.PH_CODE) as total
FROM TABLE1 AS p
LEFT OUTER JOIN DOCTABLE AS PO 
    ON PO.m_ccode = p.p_ccode
    AND PO.m_pcode = p.p_pcode
    AND PO.m_phcode = p.p_phcode

一种方法是使用子查询:

SELECT
    p.p_ccode AS C_CODE,
    p.p_pcode AS P_CODE,
    p.p_phcode AS PH_CODE,
    PO.m_doc_type AS TYPE,
    PO.crtime AS DATE,
    (select count(*) from tale2 t2 where t2.C_CODE = p.p_ccode and t2.P_CODE = p.P_CODE and t2.PH_CODE = p.PH_CODE) as total
FROM TABLE1 AS p
LEFT OUTER JOIN DOCTABLE AS PO 
    ON PO.m_ccode = p.p_ccode
    AND PO.m_pcode = p.p_pcode
    AND PO.m_phcode = p.p_phcode

左键加入,分组,然后计数--

选择
p、 p_代码为C_代码,
p、 p_pcode作为p_代码,
p、 p_phcode作为PHU代码,
PO.m_单据类型作为类型,
PO.crtime作为日期,
将(P2.*)计为总数
表1中的p
左外部联接可作为PO修改
在PO.m_代码上=p.p_代码
和PO.m_pcode=p.p_pcode
而PO.m_phcode=p.p_phcode
左外连接表2为p2
在p.m_代码上=p2.p_代码
p.m_pcode=p2.p_pcode
p.m_phcode=p2.p_phcode
按p.p\U代码、p.p\U pcode、p.p\U phcode、PO.m\U单据类型、PO.crtime分组

左键加入,分组,然后计数--

选择
p、 p_代码为C_代码,
p、 p_pcode作为p_代码,
p、 p_phcode作为PHU代码,
PO.m_单据类型作为类型,
PO.crtime作为日期,
将(P2.*)计为总数
表1中的p
左外部联接可作为PO修改
在PO.m_代码上=p.p_代码
和PO.m_pcode=p.p_pcode
而PO.m_phcode=p.p_phcode
左外连接表2为p2
在p.m_代码上=p2.p_代码
p.m_pcode=p2.p_pcode
p.m_phcode=p2.p_phcode
按p.p\U代码、p.p\U pcode、p.p\U phcode、PO.m\U单据类型、PO.crtime分组
使用CTE(通用表表达式)

使用CTE(公共表表达式)


根据问题指南,请不要发布代码、数据、错误消息等的图像-复制或在问题中键入文本。请保留图像用于图表或演示渲染错误,这些内容无法通过文本准确描述。请展示您尝试过的内容,并告诉我们您发现了什么(在本网站或其他地方),以及为什么它不能满足您的需要。根据问题指南,请不要发布代码、数据、错误消息等的图像-将文本复制或键入问题中。请保留图像用于图表或演示渲染错误,这些内容无法通过文本准确描述。请展示您的尝试,并告诉我们您(在本网站或其他地方)发现了什么,以及为什么它不能满足您的需求。