【问题标题】:Joining 2 tables in SELECT(MYSQL/PHP)在 SELECT(MYSQL/PHP) 中加入 2 个表
【发布时间】:2011-12-27 00:27:29
【问题描述】:

我有这两张桌子。连接“键”是包含在两个表中的 conID。 所以现在我想写一个 select 语句,它会给我这样的东西:

约翰史密斯乳制品22德克萨斯4000 smth4

Mike Situation glenn32 Jersey 1000 smth1 ...

> 表“人”:

NUM   Name lastName  address    conID
-----------------------------------------
  1    John  Smith     dairy22   Texas
  2    Mike  Situation glenn32   Jersey
  3    Duke  Nukem     haris48   NYork
  4    Queen Lisa      court84   London

> 表“国家”

conID   postNum   region
-------------------------
Jersey  1000      smth1
NYork   2000      smth2
London  3000      smth3
Texas   4000      smth4

! -> NUM 是 AUTO INCREMENT 主键,如果可能的话我不希望它输出。

提前感谢您的帮助:))

【问题讨论】:

  • 一个简单的 INNER JOIN 会给你你想要的 -> SELECT p.name, p.lastname, p.address, c.postNum, c.region FROM people p INNER JOIN coutries c ON c. conID = p.conID
  • 您应该接受其中一个答案。如果没有答案可以帮助您,请提供更多反馈。例如:如果在其中一个表中不存在记录,则两种类型的连接之间的差异可能是您想要发生的情况。

标签: php mysql select


【解决方案1】:

这应该根据num 列返回您想要的行:

SELECT Name, lastName, address, people.conID, postNum, region 
FROM people 
JOIN countries 
ON people.conID = countries.conID 
WHERE num=1

【讨论】:

    【解决方案2】:

    您可以使用以下 MySQL 查询:

    SELECT
        Name,
        lastName,
        address,
        people.conID,
        postNum,
        region
    FROM
        people
    JOIN
        countries
            ON people.conID = countries.conID
    WHERE
        num = 1
    

    【讨论】:

      【解决方案3】:

      这可能会奏效:

      SELECT name, lastName, address, people.conID, postNum, region
      FROM people
       JOIN countries ON people.conID = countries.conID;
      

      【讨论】:

        【解决方案4】:

        您的 SQL 查询应如下所示:

        SELECT p.Name, p.lastName, p.address, p.conID, c.postNum, c.region
        FROM people p 
        LEFT JOIN countries c ON p.conID = c.conID
        

        【讨论】:

          【解决方案5】:

          好 oleUSING 子句:

          SELECT Name, lastName, address, p.conID, postNum, region FROM people p
          INNER JOIN countries USING (conID);
          

          【讨论】:

            【解决方案6】:
            SELECT Name, lastName, address, people.conID, postnum, region
            FROM people JOIN countries ON people.conID = countries.conID;
            

            【讨论】:

              猜你喜欢
              • 2011-11-20
              • 1970-01-01
              • 1970-01-01
              • 2012-05-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-12-02
              • 1970-01-01
              相关资源
              最近更新 更多