0

したがって、私のテーブルは次のとおりです (各テーブルの主キーは、PhoneID、ManufacturerID、および OSID です。外部キーは、名前の前にアスタリスクが付いています)。

電話

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

メーカー

ManufacturerID
Name
Details
Telephone

OS

OSID
Name
Company
Description

私がする必要があるのは、基本的には、製造元の名前、電話のモデル、およびその他の詳細を取得して表示するクエリです。例:

私が持っている場合:

製造元の製造元行の Samsung

電話のモデル行の Galaxy S3

電話からの StorageSize 行の 16 GB

OSからの Name 行の Android 4.2

電話の価格行で499.99

「Samsung Galaxy S3 16GB - Android 4.2 - £499.99?

長い投稿で申し訳ありません。私が受け取ったヘルプ/回答に感謝します

4

2 に答える 2

1

「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
于 2013-02-03T16:45:16.443 に答える
1

基本的に、テーブルを結合する必要があります。

SELECT  a.*, b.*, c.*  -- select only the columns you want.
FROM    Phones a
        INNER JOIN Manufacturer b
            ON a.ManufacturerID = b.ManufacturerID
        INNER JOIN OS c
            ON a.OSID = c.OSID
-- WHERE    .... put the condition here ...

クエリで文を生成したい場合は、CONCAT (またはCONCAT_WS )を使用することもできます。フロントエンドでも実行できます。

結合に関する知識を完全に得るには、以下のリンクにアクセスしてください。

その他のリンク

于 2013-02-03T16:45:33.010 に答える