单表查询问题

mythui 2009-05-17 01:18:21
表只有一个,

tab1
_______________________________________________

id name remark text
______________________________________________

1 aa dfdf 111

2 cc aa 2222
_______________________________________________

第一步,取得 text=111的name(取得值为aa)
第二步,取得 remark=aa(第一步查出来的结果)的name(取得值为cc)

能否将这两个查询写成一条语句,取得aa和cc,
请大家帮忙
...全文
38 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2009-05-17
  • 打赏
  • 举报
回复

用联接查询就可以了。

select b.name
from tab1 a inner join tab1 b on a.name=b.remark
where a.text='111'



http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#join
13.2.7.1. JOIN语法

slimboy123 2009-05-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ACMAIN_CHM 的回复:]
用联接查询就可以了。


SQL codeselect b.name
from tab1 a inner join tab1 b on a.name=b.remark
where a.text='111'




http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#join
13.2.7.1. JOIN语法


[/Quote]

用这个就可以
百年树人 2009-05-17
  • 打赏
  • 举报
回复
select 
name
from
tab1
where
remark in(
select
name
from
tab1
where
`text`='111'
)
--或者
select
a.name
from
tab1 a,
tab2 b
where
a.remark=b.name
and
b.`text`='111'
百年树人 2009-05-17
  • 打赏
  • 举报
回复
select 
name
from
tab1
where
remark in(
select
name
from
tab1
where
`text`='111'
)
--或者
select
a.name
from
tab1 a,
tab2 b
where
a.remark=b.name
and
b.`text`='111'

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧