Как я могу изменить свой выбор? Я могу получить несколько строк с помощью WHERE IN?

0
SELECT 
  (SELECT TOP 1 obj FROM rel_raci responsible_raci_r WHERE responsible_raci_r.PERSON_ID = organization.id AND responsible_raci_r.RACI ='R') AS responsible_inverted,
  (SELECT TOP 1 obj FROM rel_raci responsible_raci_r WHERE responsible_raci_r.PERSON_ID = organization.id AND responsible_raci_r.RACI ='A') AS accountable_inverted,
  (SELECT TOP 1 obj FROM rel_raci responsible_raci_r WHERE responsible_raci_r.PERSON_ID = organization.id AND responsible_raci_r.RACI ='C') AS consulted_inverted,
  (SELECT TOP 1 obj FROM rel_raci responsible_raci_r WHERE responsible_raci_r.PERSON_ID = organization.id AND responsible_raci_r.RACI ='I') AS informed_inverted 
FROM obj_resource organization
WHERE CONTAINS('2cef8e3d:15992b7f51e:33f', organization.id, -1) AND getOrgtype(organization.id) != 1
  • 0
    может быть, перемещая подвыбор в предложении from и используя соединение, псевдонимы могут быть короче, чем фактические таблицы
  • 0
    Слева ПРИСОЕДИНЯЙТЕСЬ, на всякий случай.
Показать ещё 2 комментария
Теги:
database
subquery

1 ответ

0

Общий синтаксис для вашего запроса:

SELECT {columns_list}
  FROM {table_name}
 WHERE {column_name} IN (SELECT {column_name}
                           FROM {table_name}
                          WHERE {condition(s)}
                        ) A ;
  • 0
    Хорошо я попробую еще раз
  • 0
    нравится? SELECT id ИЗ организации obj_resource ГДЕ объект obj (ВЫБЕРИТЕ объект obj от rel_raci liability_raci_r WHERE liability_raci_r.PERSON_ID = organization.id AND liability_raci_r.RACI = 'R') КАК ) И getOrgtype (organization.id)! = 1
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню