我对数据库一般都很陌生。我有一个小项目,我正在工作,我被困在我需要的查询。我正在使用MySQL。这是我的设置:
我有4张桌子:
1: BoeingModels
B_ID | B_ModelName | B_ModelCode | B_Registrations
_____|_____________|_____________|_________________
1 | Boeing 737 | BOE-737800 | 500
2 | Boeing 787 | BOE-787100 | 126
2: AirbusModels
A_ID | A_ModelName | A_ModelCode | A_Registrations
_____|_____________|_____________|_________________
1 | Airbus A330 | AB-A330 | 418
2 | Airbus A380 | AB-A380 | 126
3: AircraftParts
P_ID | PartNumber | PartName
_____|____________|__________
1 | J-504414 | Baggage Door
2 | K-774821 | Lavatory Door
4: Part2Aircraft
P2A_ID | P_ID* | B_ID* | A_ID*
_______|_______|_______|_______
1 | 2 | 2 |
2 | 1 | 1 |
3 | 1 | | 1
4 | 2 | | 2
正如您可能看到的,多个部件可以应用于同一架飞机,同一部件可以应用于多架飞机。 (*)表示外键。我遇到的问题是编写一个显示我需要的信息的查询。如果可能的话,以下是我希望显示的数据:
PartNumber | Applicable Aircraft
_________________________________
J-504414 | Boeing 737, Airbus A330
K-774821 | Boeing 787, Airbus A380
我已经尝试使用谷歌搜索和搜索论坛,但我还没有与语言协调一致,所以试图找到一个我能理解的与我类似的情况是不成功的。你能帮我解决一下这个问题吗?
答案 0 :(得分:0)
我现在没办法测试这个......但是
获取所有零件编号及其适用的飞机...加入表格的简单查询(不包括您想要对输出执行的任何格式设置)
选择AircraftParts.PartNumber,BoeingModels.B_ModelName,AirbusModels.A_ModelName 来自AircraftParts 加入Part2Aircraft 在AircraftParts.P_ID = Part2Aircraft.P_ID 加入BoeingModels 在Part2Aircraft.B_ID = BoeingModels.B_ID 加入AirbusModels 在Part2Aircraft.A_ID = AirbusModels.A_ID;