1

私はmysqlを初めて使用するので、複数のテーブルを結合するクエリを作成する方法がまだわからないので、このクエリを作成するのに助けが必要です.

だから私はこれらのテーブルを持っています:

製品

| id         | category    | description  |    brand     |
|:-----------|------------:|:------------:|:------------:|
| 1          |    desktops |    Hp example|     HP       |
| 2          |    laptops  |  asus example|       ASUS   |

店舗

| id         | location    | Brands(physical stores) | 
|:-----------|------------:|:-----------------------:|
| 1          |    liverpool|    currys               |    
| 2          |    london   | novatech                | 
| 3          |    bristol  | novatech                | 

products_stores

| id_product | id_store    | price   | 
|:-----------|------------:|:-------:|
| 1          |    2        |    700  |    
| 2          |    3        |   400   | 
| 2          |    1        |   300   | 

したがって、データを取得して次のように整理するクエリが必要です (すべてのデータが必要であると仮定します)。

| category    | description  |    brand     |   store      |  location  |   price   |
|:------------|-------------:|:------------:|:------------:|:----------:|:---------:|
|    desktops |    Hp example|     HP       |    novatech  |  london    |   700     |
|    laptops  |  asus example|       ASUS   |    novatech  |  bristol   |   400     |
|    laptops  |  asus example|       ASUS   |    currys    |  liverpool |   300     |
4

3 に答える 3

1
select products.category, products.description, products.brand, stores.brands, stores.location, products_stores.price
from products_stores
inner join stores on stores.id = products_stores.stores_id
inner join products on products.id = products_stores.products_id

SQLフィドル

于 2013-06-20T11:50:11.807 に答える
1

単に結合を使用します(より具体的には、列が呼び出されていないINNER JOINことを確認してください。それが呼び出されている場合は、クエリで変更するだけです:storeBrands(physical stores)brands

SELECT
    pr.category,
    pr.description,
    pr.brand,
    st.store,
    st.location,
    ps.price
FROM
    `products_stores` as `ps`
INNER JOIN
    `products` as `pr`
ON
    pr.id = ps.id_product
INNER JOIN
    `stores` as `st`
ON
    st.id = ps.id_store
于 2013-06-20T11:51:47.253 に答える
1
SELECT p.category, p.description, p.brand, s.Brands as store, s.location, ps.price 
    FROM Products p, Stores s, products_stores ps 
         WHERE p.id = ps.id_product AND s.id = ps.id_store;

上記のクエリを使用します。

于 2013-06-20T11:51:59.540 に答える