这是一个问题 我们有3个数据库变量(Person,event,invite)
Person(pid,passwd,fname,lname),
Event(eid, start_time,duration,description,pid)
Invited(pid,eid,response,visibility)
我想做一个女巫会做的查询 向所有人展示用户X创建的每个事件。
例如,Person David使用eid = 1和3创建事件。(2个事件) 如果Jany和Will邀请参加eid = 1,Mike邀请参加活动3 它应该显示
EID PID
1 Jany
1 will
3 mike
我困惑的部分是人和事件的PID是事件的创造者 邀请的PID是邀请的人。所以它的PID值不同。 所以我不能自然地加入他们
我可以用create view mysql命令解决这个问题,但我正在编写这段代码 在PHP表单上,所以我想在一个命令中完成此命令。
我试过的是这个
select *
from invited
where eid
in (SELECT eid
from person natural join event
where pid = 'DD')
但它没有给出我的预期。
如何在没有'create view'命令的情况下在One命令中编写代码来解决这个问题?
答案 0 :(得分:0)
你在找这个吗?
SELECT e.eid, i.pid, p.fname
FROM event e JOIN invited i
ON e.eid = i.eid JOIN person p
ON i.pid = p.pid
WHERE e.pid = ?
示例输出:
| EID | PID | FNAME | |-----|-----|-------| | 1 | 2 | Jany | | 1 | 3 | Will | | 3 | 4 | Mike |
这是 SQLFiddle 演示
推荐阅读