php - SQL 在自连接结构中全部获取

标签 php mysql sql

我当前的数据库看起来像

CREATE TABLE sites(
siteId INT(11) AUTO_INCREMENT,
siteType VARCHAR(255),
siteName VARCHAR(255),
siteDomain VARCHAR(255),
PRIMARY KEY(siteId)
);
CREATE TABLE siteSites(
parentId INT(11),
childId INT(11)
)

我正在尝试连接所有表并获取所有数据。 喜欢:

<?php
$q=mysql_query("SELECT * FROM sites s1, siteSites, sites s2 WHERE s1.siteId=parentId AND s2.siteId=childId");
$row=mysql_fetch_array($q);
?>

而且我想从 $row 变量中获取 's1' 和 's2' 的信息。 这可能吗?如果可能,我该怎么做?

谢谢

最佳答案

SELECT s1.siteId as ParentSiteId, s1.siteType as ParentType, s1.siteName as ParentName, s1.siteDomain as ParentDomain,
       s2.siteId as ChildSiteId,  s2.siteType as ChildType,  s2.siteName as ChildName,  s2.siteDomain as ChildDomain
    FROM sites s1
        INNER JOIN siteSites ss
            ON s1.siteId = ss.parentId
        INNER JOIN sites s2
            ON ss.childId = s2.siteId

关于php - SQL 在自连接结构中全部获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6201719/

相关文章:

java - 如何在 Java Servlet 应用程序上为每个用户创建一个数据库连接?

sql - 在表新字段中选择计数不同的列

mysql - 三张 table 相连。即使一张表为空也显示查询结果

mysql - 创建一个有算术溢出错误的表

mysql - (My)SQL 左/右/内连接方向

php - 如何在 WAMP 服务器中设置 404 页面的样式

php - 使用 ob_get_contents() 还是 $text .= 'test' 更好?

php - Elastic Search PHP搜索查询出了什么问题?

php - 如何将表 mysql 列设置为 hijri shamsi,阿拉伯日期

mysql - SQL : Write a query that given a varchar, 查找是否存在于A列或B列中