Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.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/8/mysql/61.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# 连接表MySQL_C#_Mysql_Mysql Workbench - Fatal编程技术网

C# 连接表MySQL

C# 连接表MySQL,c#,mysql,mysql-workbench,C#,Mysql,Mysql Workbench,我有多个表,并做了2个子选择(UserRecord、CustomerRecord),我想将它们合并到一个表中 UserRecord ======================== | RecordID | UserName | ======================== | 1 | Sara | | 1 | Tom | | 2 | Sara | | 2 | Kurt | | 3 | F

我有多个表,并做了2个子选择(UserRecord、CustomerRecord),我想将它们合并到一个表中

UserRecord
========================
| RecordID | UserName |
========================
| 1        | Sara     |
| 1        | Tom      |
| 2        | Sara     |
| 2        | Kurt     |
| 3        | Fre      |
========================

Table: CustomerRecord
============================
| RecordID | CustomerName |
============================
| 1        | Jef          |
| 2        | Alex         |
| 2        | Peter        |
============================

Table: This should be the result
=======================================
| RecordID | UserName | CustomerName | 
=======================================
| 1        | Sara     | -            |
| 1        | Tom      | -            |
| 1        | -        | Jef          |
| 2        | Sara     | -            |
| 2        | Kurt     | -            |
| 2        | -        | Alex         |
| 2        | -        | Peter        |
| 3        | Fre      | -            |
=======================================
-=null

我试过左,右,左外,右外。。。加入两张桌子,但我没有得到我想要的

SELECT *
FROM UserRecord AS ur
INNER JOIN CustomerRecord AS cr ON ur.RecordID = cr.RecordID;
您可以使用一个简单的


您想要的不是加入,而是联盟:

SELECT RecordID, UserName, NULL AS CustomerName FROM UserRecord
UNION
SELECT RecordID, NULL AS UserName, CustomerName FROM CustomerRecord
。。。它只是附加两个表中的记录

我要补充的是,订单不会是您在预期结果中显示的订单。如果顺序很重要,那么您应该从此联合中进行选择,并在此外部选择上添加一个明确的ORDERBY子句。比如:

SELECT * FROM (
    SELECT RecordID, UserName, NULL AS CustomerName FROM UserRecord
    UNION
    SELECT RecordID, NULL AS UserName, CustomerName FROM CustomerRecord
) ORDER BY RecordID, UserName, CustomerName

如果表之间没有关系(如您的结果所示),我认为连接不是答案。尝试在从两个表中进行选择时使用并集,空作为不存在的列。使用(完整)
外部联接
。在mysql中,这可能意味着
UNION
a
RIGHT-OUTER-JOIN
LEFT-OUTER-JOIN
。作为参考,请参阅:Mysql Workbench不接受完全外部连接或仅接受外部连接谢谢,以前从未使用过用户联盟,但TrickWell i是否需要等待几分钟;)
SELECT * FROM (
    SELECT RecordID, UserName, NULL AS CustomerName FROM UserRecord
    UNION
    SELECT RecordID, NULL AS UserName, CustomerName FROM CustomerRecord
) ORDER BY RecordID, UserName, CustomerName