如何为mySQL内部联接后返回的结果赋予别名

时间:2014-03-20 10:30:37

标签: mysql sql

我需要做一个相关的SQL查询,为此我需要为外部查询提供一个别名,我在其中执行内部连接。我无法做别名

    SELECT DISTINCT(name) 
     FROM PERSON
     INNER JOIN M_DIRECTOR AS dira
     ON (dira.PID = M_DIRECTOR.PID) as dira
     WHERE 9 > (
         SELECT COUNT(MID) FROM M_DIRECTOR WHERE name = dira.name
    ) ;

3 个答案:

答案 0 :(得分:1)

我真的不明白你想做什么,但我想

select 
    distinct p.name,
    count(d.MID) cnt
from 
    hindi2_PERSON p
inner join 
    hindi2_M_DIRECTOR d
on 
    p.PID = d.PID
group by
    p.name
having count(d.MID) > 9
;

会做你想做的事

答案 1 :(得分:0)

我不知道你在问什么,你的意思是通过为eniter结果做一个别名?

但你正在做

   select distinct(name) as othername

您选择name,并在此处othername作为别名

然后在结果

中检索它
   $row['othername']

答案 2 :(得分:-2)

还有一些东西不见了。根据您的编写,M_DIRECTOR表中有一个字段名称? 请显示所涉及的所有表格和属性,使用SQL Fiddle准备示例。

    SELECT DISTINCT(name) 
    FROM PERSON as p
    INNER JOIN (
            SELECT COUNT(MID), PID FROM M_DIRECTOR WHERE name = dira.name 
    ) as d
    ON (p.PID = d.PID) ;