Выборка данных из таблицы БД
Mar 12, 2015
Здравствуйте. Подскажите пожалуйста как осуществить вот такую задачу. Есть 3 таблицы в БД
modx_shop
id|name|wh_id|active
1 | A | 1 | 1
2 | B | 2 | 1
modx_nomenclature_goods
id|name|active
1 | G1 | 1
2 | G2 | 1
3 | G3 | 1
4 | G4 | 1
5 | G5 | 1
modx_wh_products
id|wh_id|product_id|count
1 | 1 | 1 | 10
2 | 2 | 2 | 10
3 | 1 | 3 | 10
4 | 2 | 3 | 10
5 | 2 | 5 | 10
6 | 1 | 5 | 10
В результате нужно показать вот такую таблицу
Товар | A | B
G1 | 10| 0
G2 | 0 | 10
G3 | 10| 10
G4 | 0 | 0
G5 | 10| 10
Главное условие это то что склады могут добавится/убавится, так же как и номенклатура.
Мое решение свелось к тому что я получаю вот такой массив
array(
[0] => array(
"product" => G1,
"data" => array(
[0] => array(
"shop" => "A",
"count" => 10
)
)
)
)
Далее с помощью foreach и еще 1го дополнительного запроса собирается таблица. На сколько это будет верно, и если есть подсказка на более лучшее решение прошу подсказать