Mysql 联接查询有问题
其中p.category将从product info表中返回(1,2,3,4,5),其中包含类别的idMysql 联接查询有问题,mysql,join,Mysql,Join,其中p.category将从product info表中返回(1,2,3,4,5),其中包含类别的id 现在我需要T3[product Id]使用的类别名称,但我只得到第一个类别名称。您的基本查询如下所示 SELECT * FROM productinfo as p , category as c WHERE c.id IN (p.category) AND p.pid='T3' 现在你需要按产品分类。这是一种多对一关系,因此
现在我需要T3[product Id]使用的类别名称,但我只得到第一个类别名称。您的基本查询如下所示
SELECT *
FROM
productinfo as p ,
category as c
WHERE
c.id IN (p.category) AND
p.pid='T3'
现在你需要按产品分类。这是一种多对一关系,因此需要左连接
SELECT * FROM productinfo as p WHERE p.pid = 'T3';
您需要学习不同类型的联接以及如何使用它们。每当我看到有人使用“来自表1,表2”时,90%的时候这意味着他们不理解连接,他们需要一个左连接
根据您的评论进行编辑
你的数据模型有缺陷。由于一个产品可以包含多个类别,这实际上是一种多对多关系。您应该创建一个产品类别表,将产品id与类别id连接起来。p类别包含此格式的类别表id 1,2,3,4
SELECT * FROM productinfo as p
LEFT JOIN category as c ON c.id = p.category
WHERE p.id = 'T3'