SELECT
i.*,
r.name AS roomname,
c.name AS cat,
p.key AS imgkey,
p.extension AS imgext
FROM
items i,
rooms r,
categories c
LEFT JOIN photos p
ON p.referencekey = i.key
WHERE
i.room = r.key
AND r.key = 663308
AND i.sitekey = 32201
AND c.key = i.categorykey
Run Code Online (Sandbox Code Playgroud)
执行时上面的查询返回以下错误.
错误:对表"i"的FROM子句条目的无效引用
第1行:... tegory c LEFT JOIN photos p ON p.referencekey = i.key WHER ...
提示:表"i"有一个条目,但不能从查询的这一部分引用它.
Sco*_*owe 35
SQL规范声明在隐式连接之前执行显式连接.这是一个隐式连接:
FROM table1 t1, table2 t2 WHERE t1.id=t2.t1id
Run Code Online (Sandbox Code Playgroud)
这是一个显式连接:
FROM table1 t1 JOIN table2 t2 ON (t1.id=t2.t1id)
Run Code Online (Sandbox Code Playgroud)
这个代码位:
categories c
LEFT JOIN photos p
ON p.referencekey = i.key
Run Code Online (Sandbox Code Playgroud)
是一个显式连接,并首先运行.请注意,此时表格别名,因为我尚未查看,因此它尚未加入.请注意,我认为MySQL在5.2中修复了这种行为,并且此查询将不再适用于此.
gil*_*ly3 17
将您的JOIN语句移动到您要加入的表旁边:
SELECT
i.*,
r.name AS roomname,
c.name AS cat,
p.key AS imgkey,
p.extension AS imgext
FROM
items i
LEFT JOIN photos p
ON p.referencekey = i.key,
rooms r,
categories c
WHERE
i.room = r.key
AND r.key = 663308
AND i.sitekey = 32201
AND c.key = i.categorykey
Run Code Online (Sandbox Code Playgroud)
长篇解释:
A JOIN是导致源表的表达式的一部分,在FROM子句中用作from_item.您的FROM子句有3个from_item源表:
itemsroomscategories 加入了 photos错误发生在您加入from_item的ON join_condition中.您正在引用from_item中不存在的表.解决方案是将连接移动到from_item,以便您拥有以下from_item源表:categoriesphotos itemsphotositems
items 加入了 photosroomscategories遗憾的是,我无法在文档中找到一个示例,该示例清楚地表明了FROM子句中的表与a 之间的关系JOIN.该SELECT概要显示了这种语法和在文档中的最佳来源找到这种区别.请注意,a JOIN不是sibling子句FROM,但实际上是子句中from_item的一部分FROM.因此,如果您的FROM子句由表列表组成,则该列表中的每个表都可以有自己的连接.然后,更加直观的是,连接中涉及的每个表必须包含在单个from_item中.
DRa*_*app 12
由于你的Items.Room = Rooms.Key,我只想把它作为那里..
SELECT
i.*,
r.name AS roomname,
c.name AS cat,
p.key AS imgkey,
p.extension AS imgext
FROM
items i
LEFT JOIN photos p
ON p.referencekey = i.key
JOIN rooms r
on i.room = r.key
JOIN categories c
on i.categorykey = c.key
WHERE
i.sitekey = 32201
AND i.room = 663308
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29907 次 |
| 最近记录: |