2014-09-29 2 views
0

Я пытаюсь написать запрос mysql в следующей таблице. Однако, не получив ожидаемого результата. Любое предложение было бы очень полезно.Запрашивать справку по запросу mysql division

«Найти сотрудника SSno для тех сотрудников, которые работают, по крайней мере, во всех тех отделах, на которых работает сотрудник с SSno 444505555».

enter image description here

+0

Редактировать ваш вопрос с вашей попыткой запроса. – Mihai

ответ

1

Try и проверьте, работает ли это:

select empSSno, GROUP_CONCAT(dno) as dnos from your_table where dnos like CONCAT('%', 
(select GROUP_CONCAT(dno) as dnos from your_table where empSSno == '444505555' GROUP BY empSSno)), '%') GROUP by empSSno 

одно предположение, которое я беру здесь в том, что ДНО для сотрудников введены в отсортированном порядке в таблице. Например, для каждого сотрудника, Дно 1 будет идти до Дна 2.

2

Не тестировался:

SELECT 
    DISTINCT empSSNO 
FROM 
    <YourTableName> 
WHERE 
    dno in (
     SELECT 
      dno 
     FROM 
      <YourTableName> 
     WHERE 
      empSSNO = '444505555' 
    ); 
+0

Спасибо. Однако требование запроса состоит в том, чтобы включить ВСЕ отдел, с которым работает ссылочный сотрудник. Этот запрос возвращает результат, если только один отдел соответствует. –

Смежные вопросы