数据库,求查询同时具有两个指定tag的sql
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库,求查询同时具有两个指定tag的sql相关的知识,希望对你有一定的参考价值。
在数据库里,我先存了两张表。
article表:
id:文章的id
text:文章内容
tag表:
aid:文章的id
tag:标签的文本
如果编号为1的文章有两个tag,那么tag表就有两条记录:
第一条:aid=1,tag=第一个标签
第二条:aid=1,tag=第二个标签
现在我想做的,是查询同时具有两个指定标签的文章id。。。跪求sql语句。Orz
例如,我想查询所有带“php”和“mysql”的文章id
SELECT
t.aid
FROM tb_tag t
WHERE 1=1
AND EXISTS(
SELECT 1
FROM tb_tag t1
WHERE t1.aid=t.aid
AND t1.tag LIKE '%php%' )
AND EXISTS (
SELECT 1
FROM tb_tag t1
WHERE t1.aid=t.aid
AND t1.tag LIKE '%mysql%' ) 参考技术B select aid from tag group by aid having count(aid) = 2
看半天才把问题看明白,楼上正解。
select aid from tag where tag like '%php%' or tag like '%mysql%' 参考技术C 只要文章id 可以这样
select aid from tag group by id having count(*) = 2 参考技术D SELECT aid ,count(*) from tag
group by aid
having count(*)=2
select id from article where text like '%php%' or text like '%mysql%'
请教:SQL同一数据库中,两个查询结果数据类型不同时的union all 合并问题
请教:查询结果一:select 表1.字段1, 表1.字段2, 表1.字段3,from 表1 where。。。
查询结果二:select 表2.字段1, 表2.字段2, 表2.字段3,from 表2 where。。。
查询结果一中的类型全为varchar型,查询结果二中的类型:表2.字段1,其余为Numeric,
用union all怎样合并查询?
CAST(表2.字段1 AS VARCHAR(n) n的大小和表1.字段1的长度一致。追问
不好意思,写少了个字:
请教:查询结果一:select 表1.字段1, 表1.字段2, 表1.字段3,from 表1 where。。。
查询结果二:select 表2.字段1, 表2.字段2, 表2.字段3,from 表2 where。。。
查询结果一中的类型全为varchar型,查询结果二中的类型:表2.字段1为varchar型,其余表2.字段2/字段3为Numeric,
用union all怎样合并查询?
以上是关于数据库,求查询同时具有两个指定tag的sql的主要内容,如果未能解决你的问题,请参考以下文章