簡體   English   中英

聯接表-MySQL和PHP

[英]Join tables - MySQL & PHP

我正在嘗試加入兩個表。 第一個表包含11個項目的列表,這些項目是帶有自動id字段“ id”的“ site_names”。 我要連接的第二個表的自動ID字段為“ desc_id”,另一個字段為“ descriptions”。 第二個表當前有3行數據,我只想為表1中的ID 1顯示。

因此,我要完成的工作是將表ID為'1'的第一個站點連接到整個第二個表。

我似乎無法弄清楚如何僅將表1中的第一個條目(id = 1)連接到表2中的所有行(tb.1-> id-> 1到tbl.2-> desc_id-> 1, 2,3)。

我希望這是有道理的。 任何幫助都會很棒。 謝謝

嘗試:

select site_name, descriptions
from table_1
inner join table_2
  on 1 = 1
where table_1.site_id = 1

這應該給你想要的東西。

好的-根據評論,我猜您想要的是:

site1 | desc1 | desc2 | desc3

全部在一排。 這有點棘手-特別是如果您希望它對任意數量的描述保持開放。 僅需要3個(或者實際上是任何有限的子集,但是隨着數量的增加,它會變得難看),您可以執行以下操作:

select site_name, t2.desc, t3.desc, t4.desc
from table_1 
inner join table_2 t2
  on t2.desc_id = 1
inner join table_2 t3
  on t3.desc_id = 2
inner join table_2 t4
  on t4.desc_id = 3
where site_id = 1

這種東西是非常不規則的。 在我看來,關於您的架構的某些信息可能不太適合生成此類要求。

這是查詢:

<?php

        $mysql = new mysqli('localhost', 'root', 'root') or die('counld not connect');
        $result = $mysql->query("SELECT ajax_demo.explore.site_name, anthony1.property.descriptions FROM ajax_demo.explore INNER JOIN anthony1.property ON ajax_demo.explore.id = anthony1.property.desc_id") or die($mysql->error);

        if($result) 
        {
                                        while($row = $result->fetch_object()) 
                                        {
                                                $id = $row->id;
                                                $siteName = $row->site_name;
                                                $siteDescription = $row->site_description;


                                                echo "$siteName";
                                                echo "$siteDescription";
                                        }
        }

    ?>

我在這里可能會丟失一些東西,但是聽起來像是您需要在Site表中添加外鍵。 如果我正確理解了您的問題,則您的表應如下所示:

Site
- SiteID
- DescriptionID
- SiteName

Description
- DescriptionID
- Description

然后,用於獲取站點及其相關描述的查詢將如下所示:

SELECT
  s.SiteName,
  d.Description
FROM
  Site s INNER JOIN Description d
    ON s.DescriptionID = d.DescriptionID

該表結構假定多個站點共享單個描述(根據您發布的問題)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM