因此,此查询返回此表
select * from players where username = 'weise03'
reportID username ign
992499 weise03 Weisey
992637 weise03 Weisey
使用此查询中的reportID,我可以运行
SELECT * FROM reports WHERE reportID = 992499
SELECT * FROM reports WHERE reportID = 992637
reportID username ign
992499 alphaas Jester <-- I want this
reportID username ign
992637 PorcoDiooo Cotton Mather <-- and this
我希望我能够按照
的方式做点什么 SELECT *
FROM
(
SELECT reportID
FROM players
WHERE username = 'weise03'
) AS t
JOIN
(
SELECT *
FROM reports
WHERE reportID = t.reportID
) AS x ON t.reportID = x.reportID;
但是发现你不能在像这样的子查询中使用别名,所以就这样了。
我意识到我可以对第一个查询返回的每个reportID运行一个查询,但我想知道是否有更好的方法对此进行建模。如果没有更好的方法,我怎么能尽可能快地 ,而不添加额外的字段 ,因为将来某些命令可能需要数百个查询。
答案 0 :(得分:2)
听起来像是想要加入
select r.* from reports r
join players p on p.reportid = r.reportid
where p.username = 'weise03'