Создайте запрос SQL, который показывает, что символ находится в двух местах одновременно - PullRequest
0 голосов
/ 14 апреля 2020
SELECT COUNT(SCENE.C_APPERANCE_ID), CHARACTER.CHARACTER_NAME, TIME.TIME, TIME.DAY
FROM (((SCENE
INNER JOIN C_APPERANCE ON SCENE.C_APPERANCE_ID = C_APPERANCE.C_APPERANCE_ID
INNER JOIN CHARACTER ON C_APPERANCE.CHARACTER_ID =  CHARACTER.CHARACTER_ID)
INNER JOIN PLACE ON SCENE.PLACE_ID = PLACE.PLACE_ID)
INNER JOIN TIME ON SCENE.TIME_ID = TIME.TIME_ID)
GROUP BY CHARACTER.CHARACTER_NAME,TIME.TIME,TIME.DAY
HAVING COUNT(SCENE.C_APPERANCE_ID)>1 
AND COUNT(PLACE.PLACE_ID) = 1;

 Name                                      Null?    Type
 ----------------------------------------- -------- -------------------
 SCENE_ID                                  NOT NULL NUMBER(38)
 SCENE_DESC                                         VARCHAR2(70)
 PLACE_ID                                  NOT NULL NUMBER(38)
 C_APPERANCE_ID                            NOT NULL NUMBER(38)
 TIME_ID                                   NOT NULL NUMBER(38)
 CHAPTER_ID                                NOT NULL NUMBER(38)
 E_APPERANCE_ID                            NOT NULL NUMBER(38)

 Name                                      Null?    Type
 ----------------------------------------- -------- -------------------------
 PLACE_ID                                  NOT NULL NUMBER(38)
 PLACE_NAME                                NOT NULL VARCHAR2(25)
 PLACE_ADDRESS                             NOT NULL VARCHAR2(50)

 Name                                      Null?    Type
 ----------------------------------------- -------- -------------------------
 C_APPERANCE_ID                            NOT NULL NUMBER(38)
 C_APPERANCE_DESC                                   VARCHAR2(50)
 CHARACTER_ID                              NOT NULL NUMBER(38)

 Name                                      Null?    Type
 ----------------------------------------- -------- -------------------------
 TIME_ID                                   NOT NULL NUMBER(38)
 TIME                                               DATE
 DAY                                       NOT NULL VARCHAR2(25)

Требуемый вывод

COUNT(SCENE.C_APPERANCE_ID) CHARACTER_NAME    TIME       DAY     PLACE_NAME          
--------------------------- --------------   ---------   ----    ----------
2                           Clementine       08-OCT-19  EVENING      Okene
  • Я пытаюсь выбрать персонажа из таблицы сцен в 2 местах одновременно
    • Итак, я пытаюсь группировать по имени, времени и дню, чтобы они могли быть одинаковыми
    • , тогда я собираюсь посчитать c_apperance_id (означает символ), который имеет условие выше
    • далее, я думаю, что другое место, которое означает, что при подсчете он уникален и равен 1
    • , но не показывает выбранной строки, но данные с символом в двух местах одновременно существуют в таблице
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...