Как запросить и вернуть все сведения, в отношении продукта?
у Меня есть следующая проблема, и я собираюсь задать вопрос таким образом, дидактические, что может быть полезно для всех пользователей, которые могут понадобиться. Хочу, чтобы выполнить запрос SQL который отвечает всем требованиям и возвращаемые значения.
tbl_cor
в этом случае, чтобы зарегистрировать продукт, используя все свои возможности цвета. Это будет сделано в другой форме, куда drop возвращает все продукты, чтобы выбрать один из них и более поздней версии реестр возможных цветов.
tbl_produto
id_prod
nome_prod
preco_prod
cat_prod <----- id da categoria
datacad_prod
tbl_categoria
id_cat
nome_cat
tbl_cor
id_prod
cor_prod <----- string de um dropdown do form
Например:
produto
Комбе от categoria
внедорожник доступно в cores
зеленый, синий, белый, желтый. Как вернуть через запрос SQL эти данные?
3 answers
Вы можете использовать функцию GROUP_CONCAT возвращать более одной записи в одном столбце. Как у вас есть несколько цветов для одного продукта вместо того, чтобы вернуть одну строку для каждого цвета, вы можете быть возвращение только одну строку с одним столбцом, который содержит все цвета.
SELECT
tbl_produto.nome_prod,
tbl_categoria.nome_cat,
GROUP_CONCAT(tbl_cor.cor_prod) AS Cor
FROM tbl_cor
INNER JOIN tbl_produto ON tbl_produto.id_prod = tbl_cor.id_prod
INNER JOIN tbl_categoria ON tbl_produto.cat_prod = tbl_categoria.id_cat
WHERE tbl_produto.nome_prod = 'KOMBE'
GROUP BY (tbl_produto.id_prod, tbl_categoria.id_cat)
Я Надеюсь, что помог.
Следующий запрос возвращает все сведения о товаре, свои цвета и категории.
SELECT *
FROM tbl_produto AS produtos,
tbl_categ AS categorias,
tbl_cor AS cores
WHERE produtos.cat_prod = categorias.id_cat AND
produtos.id_prod = cores.id_prod
ORDER BY nome_prod;
Добрый день, не понимаю, если вы хотите, чтобы только один запрос, или что-то более сложное, я сделал этот запрос здесь:
SELECT nome_prod, nome_cat, cor_prod
FROM tbl_produto
INNER JOIN tbl_categoria
ON tbl_produto.cat_prod = tbl_categoria.id_cat
INNER JOIN tbl_cor
ON tbl_produto.id_prod = tbl_cor.id_prod
WHERE tbl_produto.nome_prod = 'KOMBE'
Надеюсь, что это поможет, что-нибудь прокомментировать.