2016-06-18 26 views
-1

多桌我有如下表:选择在phpMyAdmin

branchInfo (brID, brName) 
MotherBoard (ComputerID, Manufacturer, Product, SerialNumber) 
Computers (ComputerID, LatestIP, brID) 
CPU   (ComputerID, NumberOfCores, ClockSpeed) 
OS   (ComputerID, MemorySize) 
Disk  (ComputerID, MemorySize) 
Network  (LatestIP, ipSubnet) 

,并希望.csv导出文件(brName,制造商,产品,的SerialNumber,LatestIP,ipSubnet,NumberOfCores,时钟速度,MemorySize,MemorySize)字段 请帮我写sql代码

回答

0

你想要做的就是所谓的连接。您可以通过同时从多个表中选择来连接SQL中的多个表。当你想从一张表中提取信息时,你必须告诉SQL表是如何关联的。作为连接两个表的基本模式,你可以告诉SQL两个表来选择,然后如何加入它们。例如,如果您有两个非常简单的表格,分别为dogLicencedogAge以及那些表格(名称,许可证号码)和(姓名,年龄),代码SELECT * from dogLicence, dogAge会给您所有狗龄和许可证号的组合。因此,您需要WHERE条款。如果您说SELECT * from dogLicence, dogAge WHERE dogLicence.name = dogAge.name,您将只选择一只狗,并且您将获得它的名字,许可证号码一个年龄。当然,将名称作为主键的做法是不好的做法,但我们只是假装它是为了简单起见。最后,当你选择它时,你可以使用一个简写表。如果你写SELECT * from dogLicencse s,你现在可以在声明的其余部分将该表引用为's'。记住这一切,您的查询将如下所示:

SELECT brname, Manufacturer, Product, SerialNumber, LatestIP, ipSubnet, NumberOfCores, ClockSpeed, MemorySize, MemorySize 
FROM branchInfo br, Motherboard m, Computers c, CPU cpu, OS o, Disk d,  network N 
WHERE b.brID = c.brID 
AND m.ComputerID = c.ComputerID 
AND o.ComputerID = c.ComputerID 
AND d.ComputerID = c.ComputerID 
AND n.ComputerID = c.ComputerID 
and cpu.ComputerID = c.ComputerID 
AND c.LatestIP = n.LatestIP; 
相关问题