Как сделать запрос на создание новой таблицы базы данных из 2 отдельных таблиц? - PullRequest
0 голосов
/ 18 марта 2012

У меня есть 2 таблицы.

Таблица 1 содержит идентификатор продукта и название продукта (каждая строка имеет уникальный идентификатор продукта).

1 Name1
2 Name2
3 Name3

Таблица 2 содержит идентификатор продукта и цвет (красный, зеленый, синий) и цену.Может быть до 3 строк с одним и тем же идентификатором продукта в зависимости от того, с каким цветом связан идентификатор продукта.

1 Red $6
1 Blue $2
2 Blue $3
3 Green $5

Я хочу запросить создание новой таблицы со следующими столбцами: идентификатор продукта, продуктИмя, RedPrice, GreenPrice и BluePrice.В результате 2 приведенных выше примеров:

1 Name1 $6 Null $2
2 Name2 Null Null $3
3 Name3 Null $5 Null

Как мне выполнить этот запрос?Код SQL или Microsoft Access в порядке.Спасибо.

Ответы [ 2 ]

1 голос
/ 18 марта 2012

Предполагается, что на каждый товар может быть не более одной цены:

SELECT
  products.ProductID,
  products.ProductName,
  red  .Price AS RedPrice,
  green.Price AS GreenPrice,
  blue .Price AS BluePrice
FROM products
LEFT JOIN prices red   ON products.ProductID = red  .ProductID AND red  .Color = 'Red'
LEFT JOIN prices green ON products.ProductID = green.ProductID AND green.Color = 'Green'
LEFT JOIN prices blue  ON products.ProductID = blue .ProductID AND blue .Color = 'Blue'
0 голосов
/ 18 марта 2012

Если вы хотите создать новую таблицу, SQL может выглядеть следующим образом:

CREATE TABLE Product
(
    ProductID int NOT NULL,
    ProductName varchar(50),
    Color varchar(25),
    Price decimal(8,3)
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...