连接两个SQL表,其中一个连接字段被多次使用

莎拉

我在链接两个表时遇到问题,其中多次需要1个联接字段。

这两个表如下:

地点_地点_主人

  • ID
  • 地点名称
  • 项目
  • is_warehouse

Bag_Dim

  • event_id
  • Bag_type
  • bag_id
  • label_id
  • 创建日期
  • created_by_employee
  • origin_location_id
  • destination_location_id
  • composition_id

这些表通过origin_location_id或destination_location_id连接到Venue_Location_Master.id

我正在尝试构造一个返回的查询:

  • bag_id
  • created_by_employee
  • event_name
  • origin_location_id
  • Venue_Location_Master.location_name(来源名称)
  • destination_location_id
  • Venue_Location_Master.location_name(目标名称)

我尝试使用联合,但这会返回所需的数据,但会跨越两行(请参见下文)。有人有什么建议吗?

SELECT [bag_id],
[created_date],
[created_by_employee],
[origin_location_id], 
ISNULL([venue_location_master].[location_name], 'NULL') AS [origin_location_name],   
[destination_location_id],
ISNULL([venue_location_master].[location_name], 'NULL') AS [destination_location_name]    
,ISNULL([event_master].[event_name], 'NULL') AS [event_name]  
FROM [variance_cash].[dbo].[Bag_Dim] 
LEFT JOIN [verteda_rts_v4].[dbo].[venue_location_master]  
ON [Bag_Dim].[destination_location_id] = [venue_location_master].[id]  
LEFT JOIN [verteda_rts_v4].[dbo].[event_master] 
ON [Bag_Dim].[event_id] = [event_master].[id] 
WHERE  [bag_id] = 'K5334'
拉斐尔的老房子

如果使用别名,则可以在同一表上连接两次。

只要加入正确的领域,这应该可以解决问题。

SELECT 
  [bag_id],
  [created_date],
  [created_by_employee],

  --origin
  [origin_location_id],
  --use table alias to get correct origin name
  ISNULL(origin.[location_name], 'NULL') AS [origin_name],  

  --destination
  [destination_location_id],
  --use table alias to get correct destination name
  ISNULL(destination.[location_name], 'NULL') AS [destination_name],

  ISNULL([event_master].[event_name], 'NULL') AS [event_name]  
FROM [variance_cash].[dbo].[Bag_Dim] 

--join on destination, alias is... destination
LEFT JOIN [verteda_rts_v4].[dbo].[venue_location_master]  as destination
      ON [Bag_Dim].[destination_location_id] = destination.[id] 

--join  on origin, alias is... origin
LEFT JOIN [verteda_rts_v4].[dbo].[venue_location_master] as origin  
      ON [Bag_Dim].[origin_location_id] = origin.[id]  

LEFT JOIN [verteda_rts_v4].[dbo].[event_master] 
   ON [Bag_Dim].[event_id] = [event_master].[id] 
WHERE  [bag_id] = 'K5334'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MYSQL:连接两个表并使用其中一个的随机列

来自分类Dev

如何使用C#连接两个表,其中一个表包含MongoDB中另一个表的ID列表

来自分类Dev

mysql - 如果其中一个具有另一个的外键,如何执行两个连接表的连接?

来自分类Dev

连接两个文件,保持其中一个的元素顺序

来自分类Dev

连接两个数据框并扩展其中一个的内容

来自分类Dev

在一个表中将两个表连接在一起,其中一个ID和另一个表中的多个ID

来自分类Dev

一次将两个记录插入两个表,其中一个表使用另一个作为外键?

来自分类Dev

连接两个表,其中连接条件需要一个子字符串

来自分类Dev

SQL Server:连接2个表,优先选择其中一个有冲突的表中的结果

来自分类Dev

连接两个数据帧,其中一个数据帧是其他数据集的子集

来自分类Dev

如何按字符串列半连接两个数据框,其中一个以冒号分隔

来自分类Dev

查找两个表,其中一个表具有冗余值

来自分类Dev

SQL连接两个表,两个表中的任何一个都为空

来自分类Dev

我无法连接3个表,其中一个表对其列进行了两次连接

来自分类Dev

等于两个结构,但想更改其中一个字段

来自分类Dev

Django-对两个字段进行OR过滤,其中一个在相关表中

来自分类Dev

容器lxc具有两个IP:其中一个是网桥的。与juju连接时,连接到bridge的

来自分类Dev

连接两个表以将两个存储过程转换为一个SQL

来自分类Dev

Hibernate:如何用其中一个没有ID的两个表联接?

来自分类Dev

如何比较两个 MySQL 表然后更新其中一个

来自分类Dev

SQL连接两个表和满足一个条件的元素

来自分类Dev

SQL 两个左连接只产生第一个表中的数据

来自分类Dev

如何连接两个字符串(一个是变量),同时仍然能够重用其中一个参数(变量)?

来自分类Dev

创建涉及两个表的SQL查询,其中一个表只需要一个值

来自分类Dev

用两个字段进行计算,其中一个在角度中使用ng-model

来自分类Dev

查询以从两个表中选择相关数据,其中一个表在第三表中没有相关字段

来自分类Dev

SQL-将同一表中的两个字段连接到另一个表中的单个字段

来自分类Dev

连接没有公共列的两个表,但使用连接到两个表的另一个表

来自分类Dev

LINQ to SQL如何连接两个表,从一个表获取完整的类对象,但从另一个表替换一个字段

Related 相关文章

  1. 1

    MYSQL:连接两个表并使用其中一个的随机列

  2. 2

    如何使用C#连接两个表,其中一个表包含MongoDB中另一个表的ID列表

  3. 3

    mysql - 如果其中一个具有另一个的外键,如何执行两个连接表的连接?

  4. 4

    连接两个文件,保持其中一个的元素顺序

  5. 5

    连接两个数据框并扩展其中一个的内容

  6. 6

    在一个表中将两个表连接在一起,其中一个ID和另一个表中的多个ID

  7. 7

    一次将两个记录插入两个表,其中一个表使用另一个作为外键?

  8. 8

    连接两个表,其中连接条件需要一个子字符串

  9. 9

    SQL Server:连接2个表,优先选择其中一个有冲突的表中的结果

  10. 10

    连接两个数据帧,其中一个数据帧是其他数据集的子集

  11. 11

    如何按字符串列半连接两个数据框,其中一个以冒号分隔

  12. 12

    查找两个表,其中一个表具有冗余值

  13. 13

    SQL连接两个表,两个表中的任何一个都为空

  14. 14

    我无法连接3个表,其中一个表对其列进行了两次连接

  15. 15

    等于两个结构,但想更改其中一个字段

  16. 16

    Django-对两个字段进行OR过滤,其中一个在相关表中

  17. 17

    容器lxc具有两个IP:其中一个是网桥的。与juju连接时,连接到bridge的

  18. 18

    连接两个表以将两个存储过程转换为一个SQL

  19. 19

    Hibernate:如何用其中一个没有ID的两个表联接?

  20. 20

    如何比较两个 MySQL 表然后更新其中一个

  21. 21

    SQL连接两个表和满足一个条件的元素

  22. 22

    SQL 两个左连接只产生第一个表中的数据

  23. 23

    如何连接两个字符串(一个是变量),同时仍然能够重用其中一个参数(变量)?

  24. 24

    创建涉及两个表的SQL查询,其中一个表只需要一个值

  25. 25

    用两个字段进行计算,其中一个在角度中使用ng-model

  26. 26

    查询以从两个表中选择相关数据,其中一个表在第三表中没有相关字段

  27. 27

    SQL-将同一表中的两个字段连接到另一个表中的单个字段

  28. 28

    连接没有公共列的两个表,但使用连接到两个表的另一个表

  29. 29

    LINQ to SQL如何连接两个表,从一个表获取完整的类对象,但从另一个表替换一个字段

热门标签

归档