演员的沙鲁克数是“合作演”图中该演员与沙鲁克汗之间最短路径的长度

问题描述

1

问题:演员的沙鲁克数是“合作”图中演员和沙鲁克汗之间最短路径的长度。 也就是说,沙鲁克汗的沙鲁克编号为 0;所有与沙鲁克出演同一部电影的演员都拥有沙鲁克 1 号;与某些人出演同一部电影的所有演员

答案:对于给定的问题,我编写了以下查询,但是输出的结果形状是 (28081,1) 但预期的是 (25698,1)。

请帮助我理解我哪里出错了。

WITH 
SHAHRUKH_0 AS
(
    SELECT
        TRIM(P.PID) PID
    FROM
        Person P
    WHERE
        Trim(P.Name) like '%shah%rukh%Khan%'
),SHAHRUKH_1_MOVIES AS
(
    SELECT
        disTINCT
        TRIM(MC.MID) MID,S0.PID
    FROM
        M_Cast MC,SHAHRUKH_0 S0
    WHERE
        TRIM(MC.PID) = S0.PID
),SHAHRUKH_1_ACTORS AS
(
    SELECT
        disTINCT
        TRIM(MC.PID) PID
    FROM
        M_Cast MC,SHAHRUKH_1_MOVIES S1M
    WHERE
        TRIM(MC.MID) = S1M.MID AND
        TRIM(MC.PID) <> S1M.PID
),SHAHRUKH_2_MOVIES AS
(
    SELECT
        disTINCT
        TRIM(MC.MID) MID,S1A.PID
    FROM
        M_Cast MC,SHAHRUKH_1_ACTORS S1A
    WHERE
        TRIM(MC.PID) = S1A.PID
)
SELECT
    disTINCT
    TRIM(MC.PID) PID,TRIM(P.Name) ACTOR_NAME
FROM
    Person P,M_Cast MC,SHAHRUKH_2_MOVIES S2M
WHERE
        TRIM(MC.PID) = TRIM(P.PID) AND
        TRIM(MC.MID) = S2M.MID AND
        TRIM(MC.PID) <> S2M.PID

解决方法

请发送 IMDB 数据集的 SQL QUERY 的正确答案

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...