mysql - 内连接问题

标签 mysql join

CREATE TABLE college 
(  
  id       SERIAL PRIMARY KEY, 
  SCHOOL   VARCHAR(100),
  CColor   VARCHAR(100),  
  CCmascot VARCHAR(100)  
);

CREATE TABLE mats 
(  
  id                SERIAL PRIMARY KEY,  
  CColor            VARCHAR(100),  
  CCNAME            VARCHAR(100)  
);

MYSQL 好吧,这就是问题,我认为它很简单,但我没有得到正确的答案。我通过 URL 传递了学校名称,我使用 $_GET 来获取大学名称,现在我需要查询:
通过使用学校名称,我需要获取 CCOLOR 和 CCNAME。

最佳答案

您的问题不清楚,因此只能近似回答。 您需要两个表中的列可用于连接它们,即具有可用于识别父表(学院)中的记录何时与子表(垫)中的记录匹配的值的列。理想情况下,子表映射中应该有一个外键,可以将其命名为 College_id(这使用引用父表的命名约定)。

提供一个像上面提到的那样的外键,您的查询将变成

select
  college.ccolor
from
  college inner join mats
    on college.id = mats.college_id
where
  mats.ccname = "<<COLOUR_DESIRED>>";

假设 ccname 是 ccolor 的名称。

关于mysql - 内连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/818884/

相关文章:

php - mysql select where limit, join where

mysql - 如何进行 if 和 else mysql 查询

php - 为什么 echo 只打印 PHP 数组中的一个值?

php - 下拉列表获取数据库中的行

r - 将数据框展开 n 次并添加列编号,重复 1 到 n

tsql - T-SQL - 如何编写条件连接

php - 如何最好地处理带有可变参数的 POST?

mysql - 需要上传 csv 的帮助

mysql - 连接后显示表的所有行

sql - 在 Access 中加入语法