Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 数据库查询以获取最近更新的实体_Mysql_Database_Join_Relationship - Fatal编程技术网

Mysql 数据库查询以获取最近更新的实体

Mysql 数据库查询以获取最近更新的实体,mysql,database,join,relationship,Mysql,Database,Join,Relationship,我在MySQL数据库中有两个表- /* main theatre table */ CREATE TABLE THEATRE ( id VARCHAR(100) PRIMARY KEY, name VARCHAR(100) NOT NULL, location VARCHAR(100), type VARCHAR(100), /* comma separated values */ createDateTime BIGINT NOT NULL /* Current time in milli

我在MySQL数据库中有两个表-

/* main theatre table */
CREATE TABLE THEATRE 
(
id VARCHAR(100) PRIMARY KEY,
name VARCHAR(100) NOT NULL,
location VARCHAR(100),
type VARCHAR(100), /* comma separated values */ 
createDateTime BIGINT NOT NULL /* Current time in milliseconds everytime a record is inserted */
);


/* table to capture all theatre activity */
CREATE TABLE THEATRE_ACTIVITY
(
id VARCHAR(100) PRIMARY KEY,
theatreId VARCHAR(100) NOT NULL REFERENCES THEATRE(id),
activity VARCHAR(20), /* (RATED | CREATED | EDITED) */
createDateTime BIGINT NOT NULL /* Current time in milliseconds everytime a record is inserted */
);
每次
剧院中有活动
时,都会在T
加热活动
表中插入一条记录。我需要根据
THEATRE\u活动
createDateTime
从最近到最后获取所有
THEATRE
的所有(
distinct
)名称、ID和位置

有人能帮我吗

select id, name, location
from theatre  INNER JOIN 
(select theatreid, MAX(createDateTime)
from theatre_activity
group by theatreId) ta ON theatre.id = ta.theatreId
该查询将获取所有具有剧院活动的不同剧院(假设剧院表中没有重复的剧院)。
如果有多个活动,则选择“最近”。这是我从你的问题陈述中理解的。

我提供了一个问题,我从你的问题陈述中理解的

select DISTINCT t.id, t.name, t.location from theatre t, theatre_activity ta where t.id = ta.theatreId order by t.id desc
请尝试此查询

select id, name, location, ta.td
from theatre  INNER JOIN 
(select theatreid, MAX(createDateTime) td
from theatre_activity
group by theatreId  ) ta ON theatre.id = ta.theatreId  order by ta.td desc

谢谢@Naveen,但是,查询给了我以下错误——“on子句”中的未知列“ta.therateId”。你能帮我解决这个问题吗?这个查询对你有用吗?
通过剧院ID从剧院活动组中选择剧院ID,MAX(createDateTime)td
?谢谢@Zohaib,但是,我从Naveen的“on子句”中的未知列“ta.theatreid”中得到的错误与你的查询相同。你能帮我解决这个问题吗?谢谢@Kandarp。这是行不通的。事实上,我正试图根据剧院活动的降序——从大到小——得到所有剧院的列表。因为活动存储在一个单独的表中。