Моей SQL Скрипки здесь: http://sqlfiddle.com/#!3/d5c60сводной таблицы с многим ко многие таблицы
CREATE TABLE customer
(
id int identity primary key,
name varchar(20),
);
CREATE TABLE warehouse
(
id int identity primary key,
name varchar(20),
);
CREATE TABLE customerwarehouse
(
id int identity primary key,
customerid int,
warehouseid int
);
INSERT INTO customer (name)
VALUES
('CustA'),
('CustB'),
('CustC');
INSERT INTO warehouse (name)
VALUES
('wh01'),
('wh02'),
('wh03');
INSERT INTO customerwarehouse (customerid, warehouseid)
VALUES
(1,1),
(2,1),
(2,2),
(3,1),
(3,2),
(3,3);
Я хотел бы написать запрос, чтобы вернуть данные клиента/склада в следующем формате:
Customer WH1 WH2 WH3
CustA wh01
CustB wh01 wh02
CustC wh01 wh02 wh03
Моя попытка сделать это возвращает null для всех складов.
Как я могу построить свой запрос для возврата данных в требуемом формате?
результатом является наоборот (это 'CustC', который связан со всеми складами и' CustA' с 'WH1' только). Во всяком случае, я уверен, что это небольшая ошибка и может быть легко исправлена. +1 для динамического подхода; это очень полезно. – GolfWolf
@ w0lf исправлено, у меня были толстые/перевернутые столбцы соединения. благодаря – Taryn