不描述你的表结构和数据真是很难明白你的意图。根据你提供的信息,只能说 join 可以连续使用,多次连接来查询多个关联的表。也可以使用子查询来实现你的需求。比如如下都可以查询到某一分类的所有物品信息: 连接:select 物品信息 from 分类表 left join 子物品表 on 分类表.分类ID = 子物品表.分类ID left join 物品信息表 on 子物品表.ID = 物品信息表.物品ID 子查询: select 物品信息 from 物品信息表 where 物品ID in (selct 物品ID from 子物品表 where 分类 = 分类 ID)
贴建表及插入记录的SQL,及要求结果出来看看
你的是只能查询一条而已 数据库名 class和Goods class字段 Id name goods字段 ID Fid(分类ID) ..... 查询一个分类 再查三个 goods.Fid=class.Id 大概意思这个
数据库名 class和Goods class字段 Id name goods字段 ID Fid(分类ID) ..... 查询一个分类class 再查三个Goods, goods.Fid=class.Id 大概意思这个
这个意思 ? select * from class a left join Goods b on a.id=b.fid left join Goods b1 on a.id=b1.fid left join Goods b2 on a.id=b2.fid
贴建表及插入记录的SQL,及要求结果出来看看 select * from class a left join Goods b on a.id=b.fid left join Goods b1 on a.id=b1.fid left join Goods b2 on a.id=b2.fid where a.id=衣服的id
上传到 www.access911.net/csdn直接文本更好
不是这样吗?select goods.* from goods where goods.Fid = 你要的类别Id 要用分类名字来的话: select goods.* from goods left join class where goods.Fid = class.Id and class.name = "你选定的类别名"要再限定三个的话: select goods.* from goods left join class where goods.Fid = class.Id and class.name = "你选定的类别名" limit 3
建议找狼头版主的经典回复 CPCP,哈哈
额...那我说的不明白了 图片的意思就是 用join 查询一个衣服的分类 关联出三个衣服(class)的物品 数据库名 class和Goods class字段 Id name goods字段 ID Fid(分类ID) ..... Fid是指class的Id 通过这个来查村属于class id的物品 就是衣服的物品
select * from class a left join Goods b on a.id=b.fid left join Goods b1 on a.id=b1.fid left join Goods b2 on a.id=b2.fid where a.id=衣服的id这个不行?贴记录看看
每个衣服的id取3条记录,标准是什么,ID大小?
select * from class a left join Goods b on a.id=b.fid left join Goods b1 on a.id=b1.fid left join Goods b2 on a.id=b2.fid where a.id in(二十个衣服的id)
连接:select 物品信息
from
分类表
left join
子物品表
on 分类表.分类ID = 子物品表.分类ID
left join 物品信息表
on 子物品表.ID = 物品信息表.物品ID
子查询:
select 物品信息
from 物品信息表
where 物品ID in (selct 物品ID from 子物品表 where 分类 = 分类 ID)
数据库名 class和Goods
class字段
Id name
goods字段
ID Fid(分类ID) .....
查询一个分类 再查三个 goods.Fid=class.Id 大概意思这个
class字段
Id name
goods字段
ID Fid(分类ID) .....
查询一个分类class 再查三个Goods, goods.Fid=class.Id 大概意思这个
select * from class a left join Goods b on a.id=b.fid
left join Goods b1 on a.id=b1.fid
left join Goods b2 on a.id=b2.fid
我查询一个衣服 想调出里面三个归属于衣服的物品
用join写出来而已
select * from class a left join Goods b on a.id=b.fid
left join Goods b1 on a.id=b1.fid
left join Goods b2 on a.id=b2.fid
where a.id=衣服的id
www.access911.net/csdn直接文本更好
不是这样吗?select goods.*
from goods
where goods.Fid = 你要的类别Id
要用分类名字来的话:
select goods.*
from goods left join class
where goods.Fid = class.Id and class.name = "你选定的类别名"要再限定三个的话:
select goods.*
from goods left join class
where goods.Fid = class.Id and class.name = "你选定的类别名"
limit 3
建议找狼头版主的经典回复 CPCP,哈哈
数据库名 class和Goods
class字段
Id name
goods字段
ID Fid(分类ID) .....
Fid是指class的Id
通过这个来查村属于class id的物品 就是衣服的物品
left join Goods b1 on a.id=b1.fid
left join Goods b2 on a.id=b2.fid
where a.id=衣服的id这个不行?贴记录看看
left join Goods b1 on a.id=b1.fid
left join Goods b2 on a.id=b2.fid
where a.id in(二十个衣服的id)