每个派生表都必须有自己的别名 - 使用多个 SELECT 语句时出错 [英] Every derived table must have its own alias - error when using multiple SELECT statements
问题描述
我试图在查询中使用多个 SELECT 语句从数据库中获取数据,但出现错误.查询是:
I'm trying to use multiple SELECT statements in a query to get data from the database but I get an error. The query is:
SELECT *
FROM (SELECT *
FROM players
WHERE lid = 0)
WHERE NOT EXISTS (SELECT *
FROM players
WHERE lid = 1)
错误是:
致命错误:未捕获的异常 'PDOException' 带有消息 'SQLSTATE[42000]:语法错误或访问冲突:1248 每个派生表都必须有自己的别名'
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1248 Every derived table must have its own alias'
我尝试将查询更改为
SELECT *
FROM (SELECT *
FROM players
WHERE lid = 0)
WHERE NOT EXISTS (SELECT *
FROM players
WHERE lid = 1) AS T
但又出现了同样的错误.我不明白查询的哪一部分需要别名以及为什么
but got the same error again. I can't understand which part of the query needs an alias and why
推荐答案
from 表需要别名
The from table needs an alias
SELECT *
FROM (SELECT *
FROM players
WHERE lid = 0) as T
WHERE NOT EXISTS (SELECT *
FROM players
WHERE lid = 1)
会起作用
虽然查询似乎没有意义.它不再是语法错误
Though the query seems to make no sense. It is not a syntax error anymore
这篇关于每个派生表都必须有自己的别名 - 使用多个 SELECT 语句时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!