表1-list
id cat_id name
1 1 啦啦啦
2 2 啦啦啦
3 2 拉拉阿里
表2-cat
cat_id parent_id key
1 0 年龄
2 1 16
2 1 17
3 0 身高
4 3 1.8
5 3 1.7
如何获取 list表内 cat_id =2 and cat_id = 5 的数据,注意 是
and
不是or
表1-list
id cat_id name
1 1 啦啦啦
2 2 啦啦啦
3 2 拉拉阿里
表2-cat
cat_id parent_id key
1 0 年龄
2 1 16
2 1 17
3 0 身高
4 3 1.8
5 3 1.7
如何获取 list表内 cat_id =2 and cat_id = 5 的数据,注意 是
and
不是or
list表里每条记录的cat_id不是只有一个吗,怎么会存在cat_id = 2和 cat_id = 5同时存在的条件。还有一个疑问就是在cat表里,为什么cat_id不是唯一的,这不应该是主键吗,怎么第二条记录和第三条记录 cat_id都是2。
你这描述也是醉了。。年龄16且身高1.6这是两种类型的数据,你存到了一张表的一个列中,这设计也是没谁了,再说你的需求确定是年龄=16且身高=1.6?同一列的同一行记录只可能有一个值!如果提需求的人知道你表结构是这样还有这样的需求那你就可以照脸吐他了,棒槌一个!
So。。如果你的需求是年龄=16和身高=1.6的记录,基于你这个表结构还是可以取出来的,sql如下:
select *
from cat a
join cat b
on a.cat_id=b.parent_id
where
(a.key='年龄' and b.key='16') or
(a.key='身高' and b.key='1.6');
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
2 回答2k 阅读
3 回答2k 阅读
cat_id 怎么会即等于2又等于5 ?