繁体   English   中英

MySql 查询组合来自 2 个表的结果

[英]MySql query combine results from 2 tables

我尝试通过 mysql 连接合并来自 2 个表的数据,但我看起来很喜欢,我根本没有收到第二个表的结果。

表结构 #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

我希望有人能帮我解决这个问题。

亲切的问候,尼克

您必须将您想要的列命名为 select。像这样添加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

你可以做

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 中列出必填字段:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM