1

几乎尝试了 1 小时,但无法修复。

我有一个这样的数据库。

类别

  • 猫名

子类别

  • 亚猫
  • 子目录名

标签

  • 英吉
  • 亚猫

颜色

  • imgid
  • 颜色

我有很多图像让我们用 imgid 1 拍摄图像 1

类别


  • 2
  • 猫名
    技术

子类别

  • 子类别
    3
  • 子目录名
    自行车

  • 3号

标签(我们在 img 1 上有 2 个标签)

  • 立即 1

  • 子类别 3

  • 立即 1

  • subcatid 4 颜色

  • imgid 1

  • 蓝色 _

所以 1 张图片可以有多个子类别,如自行车和汽车(图片上有自行车和汽车),所以 2 个标签 1 张图片。

我现在想做的是我从类别 2 中获得所有蓝色的 imgid(我知道我可以使用 colorid 并将 colorname 添加到 colorid 但让我们使用 colornames 让它更容易一些)

但我只想要每个 imgid 1 次。所以我想做的是一个查询,比如我是否在页面 Category?id=1?color=blue

我得到 catid =1 和 color=blue

首先,我需要获取具有 catid =1 的 subcatid

然后我需要获取标签 = sucatid 和颜色 = 蓝色的 imgid

之后我只想要独特的价值观

所以 Imgid 1 被返回 1 次。

最重要的是,一切都在 php 中!

我希望有人能以正确的方式帮助我吗?

4

1 回答 1

2
$resultimg = mysql_query("SELECT DISTINCT * FROM Category 
            JOIN SubCategory
            ON Category.CatId = SubCategory.CatId
            LEFT JOIN Color
            ON Color.imgid=SubCategory.imgid
            LEFT JOIN Tags
            ON Tags.subcatid=SubCategory.subcatid
            WHERE Color.color = '".$color."' AND Categorie.CatId = ".$CatId);
于 2013-04-05T14:30:13.320 回答