mysql 衍生表必须有别名_每个派生表在MySQL中都必须有自己的别名错误(Every derived table must have its own alias error in MySQL)...

每个派生表在MySQL中都必须有自己的别名错误(Every derived table must have its own alias error in MySQL)

我有以下查询:

SELECT SUM( cost )

FROM (

SELECT s.cost

FROM sandwiches AS s

WHERE s.name = "Cheese Steak"

)

UNION (

SELECT p.cost

FROM pizza AS p

WHERE TYPE = "Plain"

AND SIZE = "L"

)

这给了我一个错误:

#1248 - 每个派生表都必须有自己的别名

I have the following query:

SELECT SUM( cost )

FROM (

SELECT s.cost

FROM sandwiches AS s

WHERE s.name = "Cheese Steak"

)

UNION (

SELECT p.cost

FROM pizza AS p

WHERE TYPE = "Plain"

AND SIZE = "L"

)

That gives me an error of:

#1248 - Every derived table must have its own alias

原文:https://stackoverflow.com/questions/5824873

更新时间:2019-11-13 12:25

最满意答案

您需要别名临时表

SELECT SUM( cost )

FROM

(

(

SELECT s.cost

FROM sandwiches AS s

WHERE s.name = "Cheese Steak"

) AS T1

UNION

(

SELECT p.cost

FROM pizza AS p

WHERE TYPE = "Plain"

AND SIZE = "L"

) AS T2

) AS T

You need to alias your temp tables

SELECT SUM( cost )

FROM

(

(

SELECT s.cost

FROM sandwiches AS s

WHERE s.name = "Cheese Steak"

) AS T1

UNION

(

SELECT p.cost

FROM pizza AS p

WHERE TYPE = "Plain"

AND SIZE = "L"

) AS T2

) AS T

2011-04-28

相关问答

看起来你在snap之后有额外的右括号。 它应该是1而不是2个右括号。 SELECT `snap`.`ID`, `user`.`username`, `vote`.`type`

FROM (`snap`) JOIN `user` as u ON `u`.`ID` = `snap`.`user`

LEFT JOIN (select * from vote where user = "18") as vote ON `snap`.`ID` = `vote`.`snap`

JOIN (SELECT

...

您需要别名临时表 SELECT SUM( cost )

FROM

(

(

SELECT s.cost

FROM sandwiches AS s

WHERE s.name = "Cheese Steak"

) AS T1

UNION

(

SELECT p.cost

FROM pizza AS p

WHERE TYPE = "Plain"

AND SIZE = "L"

) AS T2

) AS T

You need to alias your t

...

每个派生表(AKA子查询)必须确实有一个别名。 必须给括号中的每个查询赋予一个别名( AS whatever ),这可以用于在外部查询的其余部分中引用它。 SELECT ID FROM (

SELECT ID, msisdn FROM (

SELECT * FROM TT2

) AS T

) AS T

在你的情况下,当然,整个查询可以被替换为: SELECT ID FROM TT2

Every derived table (AKA sub-query) must

...

首先,我认为您最好重新设计数据库。 具有相同数据的相同结构的多个表通常不是一个好主意。 但是,您需要的是使用MySQL过程来构建一些动态SQL然后执行它,返回结果数据。 可以使用以下程序执行此操作: - DROP PROCEDURE IF EXISTS dynamic;

delimiter //

CREATE PROCEDURE dynamic()

BEGIN

DECLARE question_table_value VARCHAR(25);

DECLARE b INT DE

...

为您的子查询设置别名,如: Select * from days

cross join

(

Select practices.*, providers.*, practice_locations.*

from practices

Inner Join providers on practices.health_post_id = providers.health_post_id

Inner join practice_locations on practices.health_post_id =p

...

您需要在括号后添加别名,如下所示 select s.*

from ta as s

left join (select a.* from tb as a) as a on/* here you need input condtion */

You need to add an alias after parenthesis as below select s.*

from ta as s

left join (select a.* from tb as a) as a on/* here

...

你需要给你的查询提供别名: SELECT SUM(`quant`), MONTH(`date`) AS month, `id`

FROM ((SELECT `date`, `id`, count(`hit`) AS `quant`

FROM `stat_2014_07`

WHERE `k_id` = '123') t1

UNION ALL

(SELECT `date`, `id`, cou

...

你正在加入 ON cisT.countrycode = c2.countrycode 但是cisT表中不存在countrycode列。 You are joining ON cisT.countrycode = c2.countrycode but countrycode column does not exist in cisT table.

$row1=mysqli_query($conn,"

SELECT firstname, lastname, artistId

FROM artist WHERE

artistId=(SELECT artistId FROM roles WHERE movieCode ='$movie[movieCode]' and role = 'Director') AS table_alias ")or die(mysqli_error($conn));

这应该工作,每个子查询必须有一个别名“AS

...

"SELECT pk"

+ " FROM ({{SELECT COUNT(*) as num, {Book.pk} as pk"

+ " FROM {Rental JOIN Book ON {Rental.product} = {Book.pk}}"

+ " GROUP BY {Rental.product}, {Book.pk}"

+ " ORDER BY num DESC LIMIT ?limi

...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值