mysql - 查询以获取产品详细信息和关联的产品图片

标签 mysql

我进行了查询,从中获取产品及其图像。在产品有图像的情况下,查询工作正常。但它不会得到没有图像的产品。我们如何才能以这样的方式进行此查询:也获取没有图像的产品,并且在这种情况下对所有这些产品使用默认图像?查询是

SELECT u.f_name,
       u.l_name,
       u.contact,
       u.user_id,
       u.address,
       u.city,
       u.org_name,
       u.website,
       p.id AS product_id,
       p.name AS product_name,
       p.price AS product_price,
       p.quantity AS product_quantity,
       p.description AS description,
       g.photo_url AS product_image
FROM user_profile u,
     product p,
     gallery g
WHERE p.category_id='1'
  AND p.subcategory_id='2'
  AND p.seller_id=u.user_id
  AND g.main_id=p.id
  AND g.type_id='2'
GROUP BY p.name

最佳答案

SELECT u.f_name,
       u.l_name,
       u.contact,
       u.user_id,
       u.address,
       u.city,
       u.org_name,
       u.website,
       p.id AS product_id,
       p.name AS product_name,
       p.price AS product_price,
       p.quantity AS product_quantity,
       p.description AS description,
       CASE WHEN g.photo_url IS NULL THEN 'some_default_url'  ELSE g.photo_url END AS product_image
FROM user_profile u 
RIGHT JOIN
     product p ON p.seller_id=u.user_id 
JOIN
     gallery g ON g.main_id=p.id
  AND p.category_id='1'
  AND p.subcategory_id='2'
  AND g.type_id='2'
GROUP BY p.name

您可能希望在某些列上放置一些聚合函数以获得更可控的结果。

对于默认图像

CASE WHEN g.photo_url IS NULL THEN 'some_default_url' END AS product_image

关于mysql - 查询以获取产品详细信息和关联的产品图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27804170/

相关文章:

php - 使用来自同一行的部分数据更新 Mysql 记录

mysql - 应用 onPage 过滤器时未将对象引用设置为对象的实例

php - Laravel 在其他专栏上同步

php - 计算 SELECT 语句中列值的总和

Android SQLite 到我的 MySQL Web 服务器?

mysql - 使用 JOIN 合并和联合来自两个表的记录

php - PDO->execute() 语句将不起作用并且在语法上是正确的

mysql - SQL - 如何根据两个表获取总和?

php - 变量 'sql_mode' 无法设置为“REPLACE”的值

php - Sql Update 字段值相互