1

我只是想看看一个特定的用户是否在这两个表之间有一个内部连接的结果行:

create table course
(
  id int primary key auto_increment,
  name varchar(255)
);

create table persons
(
  id int primary key auto_increment,
  username varchar(255),
  courseid int,
  foreign key (courseid) references course(id)
)

基本上我的查询是:

“如果用户SERGIO在任何以字母开头的课程SVU?” 如果有任何结果行,我想在我的 PHP 代码中返回 true。

4

1 回答 1

1

如果找到以via函数found开头的课程,则以下将简单地返回单行和一列。如果用户匹配多个以 开头的课程,则用于对多行进行重复数据删除。SVULEFT()SERGIODISTINCTSVU

SELECT DISTINCT 1 AS found
FROM
  persons 
  JOIN course ON persons.courseid = course.id
WHERE 
  LEFT(course.name, 3) = 'SVU'
  AND username = 'SERGIO'

这是一个例子

我假设您已经知道如何在 PHP 中查询它并使用您正在使用的任何 MySQL API(MySQLi、PDO 或旧的mysql_*())获取结果

于 2012-11-14T21:52:47.313 回答