Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.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
C# 如何使下面的连接?_C#_Asp.net_Sql_Linq_Informix - Fatal编程技术网

C# 如何使下面的连接?

C# 如何使下面的连接?,c#,asp.net,sql,linq,informix,C#,Asp.net,Sql,Linq,Informix,问: 我有来自以下查询的DataTable结果: 我有另一个DataTable:由:(来自另一个数据库表)组成 我想做的是: 连接两个数据表,其中我需要结果中的求值列,即使它是=null。我的意思是,我总是需要得到第一个数据表,即使它在第二个数据表中没有任何实例 如何使用: INFORMIX JOIN. 或 pimary键(批处理编号、crsnum、选择代码)。在Informix中,要指定外部联接,需要执行以下操作: FROM table1 t1, OUTER table2 t2

问:

  • 我有来自以下查询的DataTable结果:

  • 我有另一个DataTable:由:(来自另一个数据库表)组成

我想做的是:

连接两个数据表,其中我需要结果中的
求值
列,即使它是=
null
。我的意思是,我总是需要得到第一个数据表,即使它在第二个数据表中没有任何实例

如何使用:

INFORMIX JOIN.


pimary键(批处理编号、crsnum、选择代码)。在Informix中,要指定外部联接,需要执行以下操作:

FROM table1 t1, OUTER table2 t2
WHERE t1.batch_no = t2.batch_no and ...
生成的数据集将是表1中的所有记录以及表2中与WHERE条件匹配的任何记录(如果不匹配,则为null)


如果您想在LINQ中实现这一点,本文通过示例进行了很好的解释:

在Informix中,要指定外部联接,您需要执行以下操作:

FROM table1 t1, OUTER table2 t2
WHERE t1.batch_no = t2.batch_no and ...
生成的数据集将是表1中的所有记录以及表2中与WHERE条件匹配的任何记录(如果不匹配,则为null)


如果您想在LINQ中实现这一点,本文通过示例进行了很好的解释:

这是可行的,但它是Informix特有的一种老式外部连接符号。大多数数据库管理系统对外部联接有类似的古老表示法。SQL-92标准定义了一个标准连接表示法,包括左外连接,您应该在所有查询中使用它,不要在FROM子句中使用逗号分隔的表名列表,也不要在WHERE子句中使用连接条件:
FROM rg1course a JOIN rg3crsgrp b ON a.crsnum=b.crsnum JOIN ct1table c ON b.crsnum=c.crsnum和b.crscls=c.crscls和b.batch\u no=c.batch\u no JOIN ct1table选择d ON c.serial\u key=d.serial\u键
,这样做有效,但它是Informix特有的一种老式的外部连接符号。大多数数据库管理系统对外部联接有类似的古老表示法。SQL-92标准定义了一个标准连接表示法,包括左外连接,您应该在所有查询中使用它,不要在FROM子句中使用逗号分隔的表名列表,也不要在WHERE子句中使用连接条件:
FROM rg1course a JOIN rg3crsgrp b ON a.crsnum=b.crsnum JOIN ct1table c ON b.crsnum=c.crsnum和b.crscls=c.crscls和b.batch\u no=c.batch\u no JOIN ct1table选择d ON c.serial\u key=d.serial\u key
LINQ.
FROM table1 t1, OUTER table2 t2
WHERE t1.batch_no = t2.batch_no and ...