每个派生表都必须有自己的别名 - 使用多个 SELECT 语句时出错 [英] Every derived table must have its own alias - error when using multiple SELECT statements

查看:48
本文介绍了每个派生表都必须有自己的别名 - 使用多个 SELECT 语句时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在查询中使用多个 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆