[英]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.