gpt4 book ai didi

mysql - 使用 2 个不同的唯一键连接 3 个 MYSQL 表

转载 作者:可可西里 更新时间:2023-11-01 07:39:10 25 4
gpt4 key购买 nike

我在加入以下三个表时遇到了问题,因为这三个表之间没有唯一键计算机、客户端和驱动器

*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 个表正确连接在一起的方法

最佳答案

您的代码看起来很可靠。我认为唯一可能有问题的是您的 JOINS 顺序。

这里有一篇关于加入订单的好文章。

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/9d223e3f-c040-4eb9-a44e-5556e85a821b/inner-join-after-left-outer-join

关于mysql - 使用 2 个不同的唯一键连接 3 个 MYSQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32896378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com