mysql:结合两个没有任何关系的表吗?

时间:2014-04-22 22:37:29

标签: php mysql sql database

我有一张桌子:

**blog_posts**
id
title
desc
post

一个完全不同的表,与第一个表无关:

**devices**
id
brand
model
desc
price

我正在搜索搜索页面,我需要用户能够搜索并从两个表中获取结果。

如何编写查询以从所有字段获取信息?

4 个答案:

答案 0 :(得分:1)

使用UNION

SELECT * FROM blog_posts WHERE `__` = 'searchparameter'
UNION
SELECT * FROM devices WHERE `__` = 'searchparameter'


条件:两个表都应具有相同的列数或从两个表中选择相同的列数。

答案 1 :(得分:0)

从两个表中选择的一种方法是使用union all

select id, title, desc, post,
       NULL as device_id, null as brand, null as model, null as device_desc, null as price
from blog_posts
union all
select NULL, NULL, NULL, NULL, id, brand, model, desc , price
from devices;

答案 2 :(得分:0)

您最好查看类似Elastic Search的内容以获得正确的解决方案。

http://www.elasticsearch.org/

答案 3 :(得分:-1)

这个要求是错误的。当然你可以使用UNION ALL和类似的东西以某种方式“合并”这些表,但这绝对是错误的。结果会是什么 - 设备或blog_posts或......什么?