【请教sql语句】 两个表字段合并一个字段查询

njxiaod 2011-08-17 08:46:04

A表: id,title
B表: id, name

想要的一个查询结果select

title, name 合并做一个字段,keyword, 然后好用 WHERE kewyord = 'xxxx' 这样查询。

一般情况 是

SELECT title FROM A WHERE title = 'xxxx',

或者 SELECT name FROM B WHERE name = 'xxxx',

想实现的结果是,有没有可能,把这两个语句合并, title 和 name 合并成一个 keyword 别名
...全文
5586 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
南国小圣诞 2014-03-29
  • 打赏
  • 举报
回复
10楼正解。。。
wwwwb 2011-08-17
  • 打赏
  • 举报
回复
select * from (
select * from a
union
select * from b) where title='xxx'
njxiaod 2011-08-17
  • 打赏
  • 举报
回复
也就是现在 一个搜索功能,
一个input textfield ,当用户输入一个关键词,我要查询 A表 的title 和 B表的 name,
看看有没有记录,如果有的话,就输出这个keyword。就像google那样自动提示功能(输入一个字母,然后提示,不过这个使用程序实现不用管,关键是查询)。 关键我这个自动提示功能的关键词(keyword)要查询两个表。

如果在一个表,那就好办。一个select title form A 就可以了。 那提示的就是结果就是 title 一个。

谢谢。





wwwwb 2011-08-17
  • 打赏
  • 举报
回复
你的合并是什么意思?
是title+name='xxxx'?
vipper23 2011-08-17
  • 打赏
  • 举报
回复
select * from (select id, title as keyword from A union all select id, name as keyword from B) TT where keyword = 'xxxx'; 
wwwwb 2011-08-17
  • 打赏
  • 举报
回复
select * from a, b
where concat(title,name)= 'xxxx'
laistars 2011-08-17
  • 打赏
  • 举报
回复
在表A中创建name字段,把表B的name的值插入表A中,然后用语句
select title,name from A where title = 'xxxx' or name='xxxx',
njxiaod 2011-08-17
  • 打赏
  • 举报
回复
最理想的结果结构 然后用select 来查询。不知道怎么处理

Keyword id

A表title
B表name
.....
.....
njxiaod 2011-08-17
  • 打赏
  • 举报
回复
谢谢, 抱歉我写错了一点,两个表的id 是没有关联的。 所以大概不能用inner join

怎么处理呢?
wwwwb 2011-08-17
  • 打赏
  • 举报
回复
贴建表及插入记录的SQL,及要求结果出来看看

try:
select * from (
select * from a inner join b on a.id=b.id) a where concat(title,name)= 'xxxx'
rucypli 2011-08-17
  • 打赏
  • 举报
回复
select concat(title,name) from tb

56,675

社区成员

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

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