商品表,商品标签表,没有标签表,商品标签表里面有标签id。是个中间表,商品和标签是多对多关系, 15C

我现在有2张表,一张是商品表,一张是商品标签表,商品标签表是中间表,没有标签表,前端根据我返回的标签id匹配对应的
标签,,中间表的字段有,商品标签id,商品id,标签id,我现在想查商品把他名下的标签id查出来,也就是以一个商品对应多个标签id,一条商品数据带了多个标签id,
还有商品标签id也查出来,

8个回答

那你的到底是有没有商品标签表呢?另外就是一种标签不应该对应的同种商品不是有很多吗,比如联想E510系列的电脑有很多,E510就是标签,电脑就是商品,你可以重新再想一下思路。

qq_37750143
大博主 标签名字在那个商品标签表里面
接近 3 年之前 回复
qq_37750143
大博主 有只中间表商品标签表,没有标签表,一种商品可以对应多个标签,一个标签也可以对应多个商品,我现在查询,我现在查询商品列表,会有很多重复的,
接近 3 年之前 回复

SELECT b.* from shangpingbiao a LEFT JOIN zhongjianbiao b ON a.id = b.spId WHERE a.id = ?

qq_37750143
大博主 这样是可以查,但是我查商品列表这样不行吧,就是显示商品列表,把商品名下的所以所有标签带出来
接近 3 年之前 回复

![![图片说明](https://img-ask.csdn.net/upload/201710/27/1509095104_530300.png)图片说明](https://img-ask.csdn.net/upload/201710/27/1509095096_55177.png)图片说明

qq_37750143
大博主 taggoods_name是标签名字
接近 3 年之前 回复

图片说明

就这2张表,我现在要查商品列表,怎么把它对应的所以的标签查出来,我期望的效果是,三条商品数据,每条对应了好几个标签

select g.* t.taggoods_name from 商品表 g left join 标签表 t where g.goods_id=t.goodid
如果你想在jsp页面显示商品的信息+标签名,你可以创建一个queryVo实体类,里面放你需要的商品字段+这个标签,
用这句话查出数据,返回这个实体类
如果你用通用mapper,直接在商品表的实体类里+标签字段,使用@Transient注解

qq_37750143
大博主 关联查询这样是可以,但是现在我是按照你说的第一种方法做的,在商品实体类里面加了商品标签表的一些需要的字段,但是查出来的效果并不是逾期的那样,比如一条商品对应多个标签,应该只有一条商品数据然后标签名字有多个嘛,但是查出来是标签的数量,而不是商品的数量,这样就不符合要求了,我在后面如果加gropy by 商品id的话就只有一条商品数据,这条商品数据对应他其中的一个标签
接近 3 年之前 回复

你的标签表需要自己创建
图片说明

qq_37750143
大博主 现在这个开发经理把标签表放在了商品标签表里面,表的结构我发在上面了,那个taggoodsName字段就是标签名字,我问了经理,其余的都和你这一样的,就是没有标签表,现在的需求是怎么查商品列表,把他的所以标签带出来
接近 3 年之前 回复

问题已经解决,谢谢大家的建议

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐