MySql查询合并来自2个表的结果
问题描述:
我试图通过mysql连接合并来自2个表的数据,但我看起来很喜欢,我根本没有收到来自第二个表的结果。MySql查询合并来自2个表的结果
Table structre#1(site_hosters);
+------------+--------------+--------+
| host_id | name | prio |
+------------+--------------+--------+
| 1 | site.com | 0 |
+------------+--------------+--------+
表结构#2(site_date);
+------------+--------------+--------+
| id | hoster | page |
+------------+--------------+--------+
| 1 | site.com | http:..|
+------------+--------------+--------+
我试图得到的结果是'id,host_id,name,.... etc';
当我尝试下面的查询时,它不会在查询结果中使用host_id和prio。 看起来,连接完全没有任何影响,查询它。
我的查询:
SELECT
site.id,
site.hoster,
site.page,
FROM site_data as site
INNER JOIN site_hosters hoster
ON site.hoster = hoster.name
我希望有人能帮助我这一个。
亲切的问候, 尼克
答
你的名字,你要选择的列。添加site_hosters
列这样的:
SELECT
site.id,
site.hoster,
site.page,
hoster.host_id,
hoster.prio
FROM site_data as site
INNER JOIN site_hosters hoster ON site.hoster = hoster.name
+0
谢谢,这个作品是=)..我用BarsMedia的符号,这是因为我在查询中使用一个Sphinx配置文件,你只能在查询键上使用'/'。 – directory 2012-04-05 11:30:33
答
你可以做
SELECT
site.*,
hoster.*
FROM site_data as site
INNER JOIN site_hosters hoster ON site.hoster = hoster.name
这将返回所有领域,然而,你可能只需要像
site.id, ste.hoster, site.page, hoster.prio
为您的领域。
答
只是列表选择所需的字段:
SELECT site.id, hoster.host_id, hoster.name, site.hoster, site.page
FROM site_data AS site
INNER JOIN site_hosters AS hoster ON site.hoster = hoster.name
,因为你是从一个表中读取结果只 – 2012-04-05 10:48:58