杰ZGJ8513 发布于 2017-05-17 00:46

有一张商品表:

+--------------+---------------+------+-----+---------+----------------+
| Field        | Type          | Null | Key | Default | Extra          |
+--------------+---------------+------+-----+---------+----------------+
| id           | int(11)       | NO   | PRI | NULL    | auto_increment |
| cate_id      | int(11)       | NO   |     | NULL    |                |
| name         | varchar(100)  | NO   |     | NULL    |                |
| name_extend  | varchar(200)  | NO   |     | NULL    |                |
| price        | decimal(10,2) | NO   |     | NULL    |                |
| origin_price | decimal(10,2) | NO   |     | NULL    |                |
| stock        | int(11)       | NO   |     | NULL    |                |
| desc         | tinytext      | NO   |     | NULL    |                |
| detail       | text          | NO   |     | NULL    |                |
| express      | int(11)       | NO   |     | NULL    |                |
| status       | tinyint(1)    | NO   |     | NULL    |                |
| slide        | tinyint(1)    | NO   |     | NULL    |                |
| is_delete    | tinyint(1)    | NO   |     | NULL    |                |
| add_time     | int(11)       | NO   |     | NULL    |                |
+--------------+---------------+------+-----+---------+----------------+

有一张商品的图片表:

+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| goods_id | int(11)      | NO   |     | NULL    |                |
| img_path | varchar(255) | NO   |     | NULL    |                |
| is_main  | tinyint(1)   | NO   |     | NULL    |                |
| add_time | int(11)      | NO   |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+

商品表与商品图片表是一对多的关系,现在要获取商品的信息及所有图片,怎么查会比较合适点?

2 个回答
  • 如果商品表是 goods,图片表是 images,需要获取图片的 id 为参数,则:

    SELECT `goods`.`id`, `goods`.`name`, `goods`.`name_extend`, `images`.`img_path` FROM `goods`, `images` WHERE `goods`.`id` = `images`.`goods_id` AND `goods`.`id` = 'ID_IMPUTED';

    注意,其中 ID_IMPUTED 为你要指定的商品 id 值。

    2017-05-17 03:57 回答
    1. 建议取消图片表
      如果商品图片的属性(例如:创建时间)不重要的化建议取消图片表.
      如果图片的信息不需要检索的话, 直接插入到exif中). 尽量减少数据冗余.

    2. 建议将图片id插入到商品表中的一列
      建议将图片id插入到商品表中的一列. 图片id即文件名, path根据用户id等其他因素确定.

    2017-05-17 21:20 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
活跃用户
  • 1
    问道摩托
  • 2
    袁广龙976丶
  • 3
    逍遥子
  • 4
    亮仔
  • 5
    芙蓉花
  • 6
    作小die_syj
  • 7
    王丽珠景平怡伦_621
  • 8
    CH_Double_C
  • 9
    adfa3sd5f6a
  • 10
    欣欣大妮
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有