php - MySQL使用多个表查找一条记录

标签 php mysql sql

如果标题有误导性,我很抱歉,但我不知道如何总结,抱歉:(

基本上,我制作了一个事件系统,显示您可以参加的事件。 我有两张 table

“事件”和“注册” 事件表包含有关单个事件、事件的日期时间、价格等的所有信息...

每次用户单击事件的“注册”时,都会将一条记录添加到注册表中。 一条记录如下所示:Registrationid、eventid、date、status 和 userid

现在我使用此查询来获取所有传递的事件:

SELECT * FROM events WHERE Date < CURRENT_DATE() ORDER BY Date ASC

我只希望它在用户页面上显示以前的事件(如果用户确实参加过该事件)。有什么方法可以检查注册表,以及该事件是否存在记录;显示事件?我可以用 php 做到这一点,但我认为通过 MySQL 是可能的,尽管我不完全确定。

是否有可以处理该作业的查询? :)

最佳答案

当然,这是一个非常简单的连接操作。我将这样做:

select e.*
from event e join registration r
on (r.event_id=e.event_id)
where r.user_id=123 and e.date < current_date()
order by e.date asc

其他一些提示:

  1. 避免使用保留字和数据类型作为列名称(例如“日期”)
  2. MySQL 中的默认存储引擎不支持引用完整性。如果您需要引用完整性,请查看 InnoDB。

有关 MySQL 中联接的更多信息,请查看:https://dev.mysql.com/doc/refman/5.0/en/join.html

关于php - MySQL使用多个表查找一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18432600/

相关文章:

PHP/MySQL : Adding records based on foreign keys

java - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException 错误JAVA

JAVA mySQL JOIN 2个表

mysql - #1452 - 无法添加或更新子行 : a foreign key constraint fails 3

php - 无法在本地主机上启动 Symfony 2.7

php - 没有权限。 Laravel Linux 服务器

mysql - 如何在mysql中按特殊字符排序

php - 当我尝试使用 php 连接到数据库时出现很多错误

php - 是否需要使用php连接MySQL

php - HY :093 Invalid parameter number: parameter was not defined