mysql同一表设置两个唯一_将3个MYSQL表与2个不同的唯一键连接在一起

我有以下三个表格,因为在这三个表格之间没有唯一的密钥,我无法加入

计算机,客户和计算机驱动器

*Table Computers*

ComputerID ClientID Name Domain UserName OS

========================================================================

1 1 WS01 ABC Admin 7

2 1 WS02 ABC Admin 7

3 1 WS03 ABC Admin 7

4 2 CH21 CORP Admin 7

5 2 CH22 CORP Admin 7

6 3 LT33 WGE Admin 7

*Table Clients*

ClientID Client Name

=======================

1 Company1

2 Company2

3 Company3

*Table Drives*

DriveID ComputerID Letter Size Free Missing FileSystem

======================================================================

1 1 C 102400 100000 0 NTFS

2 1 D 102400 100000 0 NTFS

3 1 E 102400 100000 1 FAT32

4 2 C 102400 100000 0 NTFS

5 3 C 102400 100000 0 NTFS

6 4 C 102400 100000 0 NTFS

7 4 F 102400 100000 0 NTFS

8 4 E 102400 100000 1 FAT32

9 4 D 102400 100000 0 NTFS

10 5 C 102400 100000 0 NTFS

11 5 D 102400 100000 0 NTFS

12 6 C 102400 100000 0 NTFS

我有以下查询:

SELECT cl.Name, comp.Name, dr.`Letter`, dr.`Free`,dr.`Size`,dr.`FileSystem`,

dr.`Missing`

FROM clients AS cl

INNER JOIN computers AS comp ON comp.`ClientID` = cl.clientid

LEFT OUTER JOIN drives AS dr ON dr.`ComputerID` = comp.`ComputerID`

我期待以下结果

Expected Result:

ClientName ComputerName Letter Free Size Filesystem Missing

=======================================================================

Company1 WS01 C 100000 102400 NTFS 0

Company1 WS01 D 100000 102400 NTFS 0

Company1 WS01 E 100000 102400 NTFS 1

Company1 WS02 C 100000 102400 NTFS 0

Company1 WS03 C 100000 102400 NTFS 0

Company2 CH21 C 100000 102400 NTFS 0

Company2 CH21 F 100000 102400 NTFS 0

Company2 CH21 E 100000 102400 NTFS 1

Company2 CH21 D 100000 102400 NTFS 0

Company2 CH22 C 100000 102400 NTFS 0

Company2 CH22 D 100000 102400 NTFS 0

Company3 LT33 C 100000 102400 NTFS 0

当我运行上面显示的查询时,有人可以解释为什么我缺少行.我没有得到预期的结果.当所有三个表之间没有唯一键时,它们是否还提供了将3个表正确连接在一起的方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值