Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.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 Server中的2个表上选择_Sql_Sql Server_Tsql - Fatal编程技术网

在SQL Server中的2个表上选择

在SQL Server中的2个表上选择,sql,sql-server,tsql,Sql,Sql Server,Tsql,我正在尝试在SQL Server上更新一个基于存储过程的报表(报表生成器)。 存储过程按原样通过内部联接查询2个表,但其设计仅用于显示1个表中的数据。 我现在试图让它也显示第二个表中的一些数据。 虽然它执行得很好,但它不显示第二个表中的任何数据 代码: 选择n.ID、公司、标题、电子邮件、全名、章节、n.member类型、ng.INDUSTRY类别 从名字n 内部联接名称\u n.id=ng.id上的常规ng 其中成员输入('A'、'B'、'C'、'D'、'E'、'F'、'G') 和n.STAT

我正在尝试在SQL Server上更新一个基于存储过程的报表(报表生成器)。 存储过程按原样通过内部联接查询2个表,但其设计仅用于显示1个表中的数据。 我现在试图让它也显示第二个表中的一些数据。 虽然它执行得很好,但它不显示第二个表中的任何数据

代码:

选择n.ID、公司、标题、电子邮件、全名、章节、n.member类型、ng.INDUSTRY类别
从名字n
内部联接名称\u n.id=ng.id上的常规ng
其中成员输入('A'、'B'、'C'、'D'、'E'、'F'、'G')
和n.STATUS='A'
和N.电子邮件“
和ng.no_mail=0
及(
(charindex(第章,'WA')>0)
这本书最初是由过去的人写的&它可以正常工作,我唯一添加的是select语句中的
ng.INDUSTRY\u类
。但执行此操作时,不会显示INDUSTRY_类的数据

*显然,这是存储过程的部分摘录


*在Server 2016/SQL Server 2016上运行

抱歉,忽略此问题

我意识到
INDUSTRY\u CLASS
在公司记录上&而不是个人记录上

这是一个设计糟糕的数据库,在同一个
名称
表中,我们有一行行人和一行公司。 显然,因此人和公司都有相同的领域。
INDUSTRY\u CLASS
字段对于人员为空,因为该数据与公司有关

因此,个人和公司在名称表中都有
n.id
,他们也有
n.co\u id
。 在个人记录上,
n.co\u id
只是同一表格中公司的
n.id


这是CRM管理制造商的设计。。。我所做的一切就是查询CRM数据库。

假设您得到返回的行(带有填充的公司、标题、电子邮件等),并且您说行业类别值显示为“Null”(这就是您看到的吗?),那么显然没有为行业类别列设置值。如果您认为联接是有效的(即,正确的“name”和“name\u general”行由各自的“id”列值关联),那么SQL将显示该字段中包含的内容
SELECT n.ID, COMPANY, TITLE, EMAIL, FULL_NAME, chapter, n.member_type, ng.INDUSTRY_CLASS
from name n
inner join name_general ng on n.id = ng.id
WHERE MEMBER_TYPE in ('A','B','C','D', 'E','F','G')
and n.STATUS = 'A'  
and N.EMAIL <> ''
and ng.no_mail = 0   
and (
        ( charindex ( chapter,'WA') > 0 ))