MySQL:别名丢失

时间:2015-10-02 17:38:30

标签: mysql sql alias

这是sqlfiddle:http://sqlfiddle.com/#!9/dcb16/20113

那么,谁能告诉我在哪里忘记了别名?

我到处检查过,但我似乎无法找到错误的地方。

SELECT description 
FROM ForgeRock 
WHERE id=1
UNION 
SELECT 
CONCAT(
version(),
(SELECT (@) FROM (
                  SELECT(@:=0x00),
                        (SELECT @ 
                         FROM ForgeRock 
                         WHERE @ IN     (@:=(CONCAT(@,0x0a,id,0x3a,productName))
                         )
                    )x
 ),version())

2 个答案:

答案 0 :(得分:0)

首先你忘记了一个括号。我使用poorsql格式化您的查询

如果那还没解决,请告诉我

SELECT description
FROM ForgeRock
WHERE id = 1

UNION

SELECT CONCAT (
        version()
        ,(
            SELECT (@)
            FROM (
                SELECT (@: = 0x00)
                    ,(
                        SELECT @
                        FROM ForgeRock
                        WHERE @ IN (
                                @: = (
                                    CONCAT (
                                        @
                                        ,0x0A
                                        ,id
                                        ,0x3A
                                        ,productName
                                        )
                                    )
                                )
                        ) x
                )
                ,version()
            )
        )

答案 1 :(得分:0)

它藏起来了。你有一些很难跟踪的派生表,但每次你做一个“SELECT [something] FROM(”你可以把它想象成一个需要别名的新表。如果你格式化所有的东西,那么它更容易阅读,你可以看到你的SELECT(@)FROM语句的子查询没有别名。正如Juan指出的那样,你也错过了一个右括号,我在下面添加了。

Select description
  FROM ForgeRock
 Where id = -1
union
select concat(version(),
              (SELECT (@)
                 FROM (SELECT (@ := 0x00) AS T,
                              (SELECT @
                                 FROM ForgeRock
                                WHERE @ IN (@ := (CONCAT(@,
                                                         0x0a,
                                                         id,
                                                         0x3a,
                                                         productName)))) x) imthemissingalias),
              version())