因此,我的表如下所示(每个表中的主键是PhoneID,ManufacturerID和OSID。外键在名称前标有星号):

手机

PhoneID
*ManufacturerID
Model
*OSID
Description
ScreenSize
Price
StockQuantity
StorageSize
Image
Thumbnail
IsFlagged


制造商

ManufacturerID
Name
Details
Telephone


操作系统

OSID
Name
Company
Description


我需要做的基本上是一个查询,它将获取制造商名称和电话型号以及其他详细信息并显示出来。例:

如果我有:

制造商行中制造商行中的三星

手机中“模型”行中的Galaxy S3

手机的StorageSize行中有16GB

OS的“名称”行中的Android 4.2

手机价格行中的499.99

我将如何构造查询,以使句子“ Samsung Galaxy S3 16GB-Android 4.2-£499.99?

抱歉,冗长的帖子,感谢您收到的任何帮助/答案

最佳答案

我将如何构造查询,以使句子“ Samsung Galaxy
  S3 16GB-Android 4.2-499.99英镑?


select  concat(m.Manufacturer, ' ', p.Model, ' ', p.StorageSize, ' - ',
            o.Name, ' - ', p.Price)
from    Phones p
join    Manufacturer m
on      p.ManufacturerID = m.ManufacturerID
join    OS o
on      p.OSID = o.OSID

关于mysql - 需要从多个表中选择,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14674731/

10-13 22:20