0

mysql 結合によって 2 つのテーブルのデータを結合しようとしましたが、2 番目のテーブルからの結果がまったく得られないように見えます。

テーブル 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、....など」のような結果です。

次のクエリを実行すると、クエリ結果に 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

誰かがこれで私を助けてくれることを願っています。

よろしく、ニック

4

3 に答える 3

2

選択する列に名前を付ける必要があります。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
于 2012-04-05T10:34:11.987 に答える
1

あなたができる

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あなたのフィールドとして。

于 2012-04-05T10:36:33.490 に答える
1

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
于 2012-04-05T10:40:19.833 に答える