Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql where子句中的unknow列_Mysql_Sql_Union - Fatal编程技术网

Mysql where子句中的unknow列

Mysql where子句中的unknow列,mysql,sql,union,Mysql,Sql,Union,我有一个这样的问题- SELECT e.id, ( (SELECT ABS((SELECT YEAR(NOW()) - YEAR(ud.dob) FROM user_detail ud WHERE ud.userid = 49) - AVG(avgr.abc + (SELECT Y

我有一个这样的问题-

SELECT e.id, 
       ( (SELECT ABS((SELECT YEAR(NOW()) - YEAR(ud.dob) 
                      FROM   user_detail ud 
                      WHERE  ud.userid = 49) - AVG(avgr.abc 
                                                   + (SELECT YEAR(NOW()) - YEAR(ud.dob) 
                                                      FROM   user_detail ud 
                                                      WHERE  ud.userid = 49))) AS VALUE 
          FROM   (SELECT YEAR(NOW()) - YEAR(ud.dob) AS abc 
                  FROM   user_detail ud 
                  WHERE  ud.userid = (SELECT ei.interested_user 
                                      FROM   event_interest ei 
                                      WHERE  ei.eventid = e.id 
                                             AND ei.approvalstatus = 'Approve') 
                  UNION 
                  SELECT YEAR(NOW()) - YEAR(ud.dob) AS abc 
                  FROM   user_detail ud 
                  WHERE  ud.userid = (SELECT ei.invited_user 
                                      FROM   event_invite ei 
                                      WHERE  ei.eventid = e.id 
                                             AND ei.acceptance = 'Accept')) AS avgr) 
         + (SELECT IFNULL(( 3959 * ACOS(COS(RADIANS(22.6979425)) * COS(RADIANS(latitude)) * COS(RADIANS(longitude) - RADIANS(75.8597305)) + SIN(RADIANS(22.6979425)) * SIN(RADIANS(latitude))) ), 0)
            FROM   address a 
            WHERE  a.latitude != '' 
                   AND a.longitude != '' 
                   AND e.event_address = a.id) ) AS dest 
FROM   event e 
WHERE  ( ( e.maximumattendeesallow > ( (SELECT COUNT(*) AS cnt 
                                        FROM   event_interest 
                                        WHERE  eventid = e.id 
                                               AND approvalstatus = 'Approve') 
                                       + (SELECT COUNT(*) AS cnt 
                                          FROM   event_invite 
                                          WHERE  eventid = e.id 
                                                 AND acceptance = 'Accept') ) ) 
          OR ( e.maximumattendeesallow = 0 ) ) 
       AND EXISTS (SELECT id 
                   FROM   address a 
                   WHERE  latitude != '' 
                          AND longitude != '' 
                          AND e.event_address = id 
                          AND IFNULL(( 3959 * ACOS(COS(RADIANS(22.6979425)) * COS(RADIANS(latitude)) * COS(RADIANS(longitude) - RADIANS(75.8597305)) + SIN(RADIANS(22.6979425)) * SIN(RADIANS(latitude))) ), 0) < 100)
       AND NOT EXISTS (SELECT eventid 
                       FROM   event_interest 
                       WHERE  e.id = eventid 
                              AND approvalstatus != 'InterestExpressed' 
                              AND interested_user = 49) 
       AND NOT EXISTS (SELECT eventid 
                       FROM   event_invite 
                       WHERE  eventid = e.id 
                              AND invited_user = 49); 

为什么不允许子查询在ORDERBY子句中使用e.id呢。

在查询中,您使用了e.id。将其更改为“e.id”并执行。这一次您将不会得到那个错误。

在第四个select子句中,它位于后面,不存在(在你提到的where子句中选择..,将其命名为where e.id=eventid,而不是这个,写为where eventid=e.id。这将解决你的错误。

请格式化你的查询。我看过这篇文章,上面说where子句e.id首先求值,我如何重写这个查询,以便以后先求值。请反对删除并删除其中一个答案
Error Code: 1054
Unknown column 'e.id' in 'where clause'