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 SQL Server主详细信息查询,强制执行单个详细信息记录_Sql Server - Fatal编程技术网

Sql server SQL Server主详细信息查询,强制执行单个详细信息记录

Sql server SQL Server主详细信息查询,强制执行单个详细信息记录,sql-server,Sql Server,我正在处理一个查询,其中我需要连接两个没有关系的表,并只查找child retails==1的记录: SELECT dbo.BILL_INFO.BILL_NUMBER, dbo.BILL_INFO.BILL_DATE, dbo.BILL_INFO_DETAIL.SERVICE_CODE, dbo.BILL_INFO_DETAIL.SERVICE_FEE, dbo.BILL_INFO_DETAIL.REQUESTED_QUANTITY FRO

我正在处理一个查询,其中我需要连接两个没有关系的表,并只查找child retails==1的记录:

SELECT dbo.BILL_INFO.BILL_NUMBER,
       dbo.BILL_INFO.BILL_DATE,
       dbo.BILL_INFO_DETAIL.SERVICE_CODE,
       dbo.BILL_INFO_DETAIL.SERVICE_FEE,
       dbo.BILL_INFO_DETAIL.REQUESTED_QUANTITY
FROM dbo.BILL_INFO
    INNER JOIN dbo.BILL_INFO_DETAIL
        ON dbo.BILL_INFO.BILL_NUMBER = dbo.BILL_INFO_DETAIL.BILL_NUMBER
           AND dbo.BILL_INFO.PAY_MODE_ID = dbo.BILL_INFO_DETAIL.PAY_MODE_ID
           AND dbo.BILL_INFO.CASHIER_ID = dbo.BILL_INFO_DETAIL.CASHIER_ID
因此,BILL\u INFO\u DETAILs=1的所有记录

我最终将使用EF,因此:

var test = from billInfo in context.BILL_INFOS
           join billInfoDetail in context.BILL_INFO_DETAILS
               on new {billInfo.BILL_NUMBER, billInfo.PAY_MODE_ID, billInfo.CASHIER_ID}
               equals new
               {
                   billInfoDetail.BILL_NUMBER,
                   billInfoDetail.PAY_MODE_ID,
                   billInfoDetail.CASHIER_ID
               }
           where billInfo.REMARKS.Contains(passNumber.ToString())
           select new
           {
               billInfo.BILL_NUMBER,
               billInfo.BILL_DATE,
               billInfoDetail.SERVICE_CODE,
               billInfoDetail.SERVICE_FEE,
               billInfoDetail.REQUESTED_QUANTITY
           };
因此,如果BILL\u INFO和BILL\u INFO\u DETAIL有关系,我会在where子句中说:w.BILL\u INFO\u DETAILS.Count()==1(所有的BILL只有一个BILL DETAILS)

既然没有关系,我该怎么做呢


当你已经加入3个领域时,怎么没有关系?我有一种感觉,
BILL\u NUMBER
+
PAY\u MODE\u ID
+
CASHIER\u ID
对于每个关系来说都是唯一的。这个问题不是很清楚,你能提供DDL、示例数据和预期结果吗?这个表的数据不好,不允许有关系,所以它在报告中总是一个手动关系,用什么方式“允许一个关系”。你收到错误消息吗?意外的数据?问题是没有意义的。当你说“没有关系”时,你的意思是“没有外键”?这不是一回事,但我认为这是造成混乱的原因。