Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.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 连接表而不丢失数据_Sql - Fatal编程技术网

Sql 连接表而不丢失数据

Sql 连接表而不丢失数据,sql,Sql,我有三张桌子 第一个表包含我的原始数据,另外两个表是“卫星数据”。它们三个都有相同的键acc_num 原始数据表列: Acc_num 日期 运动 卫星1列: 卫星识别号 星期六 Acc_num 卫星2列: 卫星识别号 追踪日期 Acc_num 我想在acc_num的基础上创建一个SQL基,它提供satellite1和satellite2中存在的所有acc_num。如果其中一个sat表中没有数据,那么我应该得到null 例如: 在原始表中,我将有:acc_num=1、acc_num=2

我有三张桌子

第一个表包含我的原始数据,另外两个表是“卫星数据”。它们三个都有相同的键acc_num

原始数据表列:

  • Acc_num
  • 日期
  • 运动
卫星1列:

  • 卫星识别号
  • 星期六
  • Acc_num
卫星2列:

  • 卫星识别号
  • 追踪日期
  • Acc_num
我想在acc_num的基础上创建一个SQL基,它提供satellite1和satellite2中存在的所有acc_num。如果其中一个sat表中没有数据,那么我应该得到null

例如:

在原始表中,我将有:acc_num=1、acc_num=2、acc_num=3、acc_num=4

在卫星1中,我将有以下数据:acc_num=1和acc_num=2

在卫星2中,我将有以下数据:acc_num=3和acc_num=4

因此,输出将是:

Acc_num 卫星1.Sat_日期 卫星2.追踪日期 1. 4/16/2020 无效的 2. 4/16/2021 无效的 3. 无效的 x1 4. 无效的 x2 从上面的语句中,您通过连接匹配列上的子表,从主原始数据表中选择输出所需的列 原始表格名称。附件编号, 卫星1.Satellite1.Sat_日期, 卫星2.0跟踪日期 从…起 原始表格名称 原始表格上的左连接卫星1_name.Acc_num=Satillite1.Acc_num
卫星2上的左连接卫星2.Acc_num=Satellite1.Acc_num

这是一个简单的连接。具体来说,是简单的左连接。感谢venkatesh的帮助。不幸的是,不能从我这里工作。@angus尝试使用左连接或内连接左连接完成工作。谢谢你的帮助欢迎@angus请向上投票我的回答谢谢teknik。我已经找到了解决办法。
SELECT
  Raw_table_name.Acc_num,
  Satellite1.Sat_date,
  Satellite2.Tracking_date
FROM
  Raw_table_name
  JOIN Satellite1 ON Raw_table_name.Acc_num = Satillite1.Acc_num
  JOIN Satellite2 ON Satellite2.Acc_num = Satellite1.Acc_num