Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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 基于select语句使用值计算字段_Sql_Sql Server - Fatal编程技术网

Sql 基于select语句使用值计算字段

Sql 基于select语句使用值计算字段,sql,sql-server,Sql,Sql Server,我目前有一个select语句,它返回主要的客户编号 我想为那些返回的人做些什么,我想为customerRole创建另一个专栏。对于customerRole,该值应为主要值或次要值 我当前的select语句是基于该select语句的主语句。我想有一个customerRole列,将这些列显示为主列。然后,我想将这个列与我的另一个select语句一起使用,以显示那些是次要的。当它们一起运行时,我希望看到如下内容: 帐号:1234455客户角色:主要 账号:3245454客户号:二级 有人知道我怎样才能

我目前有一个select语句,它返回主要的客户编号

我想为那些返回的人做些什么,我想为customerRole创建另一个专栏。对于customerRole,该值应为主要值或次要值

我当前的select语句是基于该select语句的主语句。我想有一个customerRole列,将这些列显示为主列。然后,我想将这个列与我的另一个select语句一起使用,以显示那些是次要的。当它们一起运行时,我希望看到如下内容:

帐号:1234455客户角色:主要
账号:3245454客户号:二级

有人知道我怎样才能做到这一点吗?以下是我选择获取主要号码的步骤:

   SELECT 
     F.CustomerNumber
      FROM ods.CustomerFact F
      JOIN ods.holderDim AD
       ON  F.HolderRowNumber = AD.HolderRowNumber
      JOIN ods.holderOwesDim B  
       ON F.PrimaryHolderNumber = B.SecondaryHolderNumber

我想您需要一个
案例
表达式:

SELECT c.CustomerNumber,
       (CASE WHEN EXISTS (SELECT 1
                          FROM ods.holderDim hd
                          WHERE c.PrimaryHolderNumber = hd.SecondaryHolderNumber
                         ) AND
                  EXISTS (SELECT 1
                          FROM ods.holderOwesDim hod
                          WHERE c.PrimaryHolderNumber = hod.SecondaryHolderNumber
             THEN 'Primary' ELSE 'Secondary'
                         )
        END) as role
FROM ods.CustomerFact c;

“其他选择语句”…您能显示它吗?“一起跑”…到底是怎么回事?你是说工会声明?请讲清楚。我们不知道您的应用程序、数据结构等。无论如何,听起来您只是想执行类似于
SELECT F.CustomerNumber、[CustomerRole]=“Primary”
的操作,以便为从SELECT语句返回的所有行输出相同的固定值,但这并不完全清楚。样本数据和预期结果可能会有所帮助。就您的数据结构而言,“主要”和“次要”实际上意味着什么还不清楚,也不清楚为什么不能在一次选择中同时输出这两种类型的数字-如果它们都是用户可以担任的角色,它们不是存储在同一个表中吗?我觉得在表结构方面有点不对劲,但我知道的还不够确定。我相信你是对的,但是从THEN子句开始出现了一个错误,你知道为什么吗?