У вас есть три варианта объединения таблиц с предложениями WHERE:
1 Присоединитесь к таблицам и поставьте все предложения where в конце (как ответил @Amir Pashazadeh.
SELECT *
FROM table1 JOIN table2
WHERE conditions_on_table1
AND conditions_on_table2 ...
2 Присоединиться к подзапросам, включая условия
SELECT *
FROM table1
JOIN (SELECT columns_I_need
FROM table2
WHERE conditions_on_table2)
ON table1.col = table2.col
3 Используйте предложение WITH, чтобы разбить запрос на биты, которые легче понять (и проверить).
Я бы обычно использовал вариант 3 для такого запроса. Похоже, вы используете таблицы ti_kayttajantyoyksikko и ti_esimiehentyoyksikko дважды, поэтому я вставлю их в подзапрос:
WITH
my_unit AS (
SELECT t1.ti_kt_kayttajaid AS USER_ID
FROM ti_kayttajantyoyksikko t1
JOIN ti_esimiehentyoyksikko t2
ON t1.ti_kt_tyoyksikko = t2.ti_et_tyoyksikkoid
WHERE t2.ti_et_kayttajaid = 14794)
SELECT * FROM my_unit;
Как только это сделает то, что я ожидаю, я добавлю следующую часть:
WITH
my_unit AS (
SELECT t1.ti_kt_kayttajaid AS USER_ID
FROM ti_kayttajantyoyksikko t1
JOIN ti_esimiehentyoyksikko t2
ON t1.ti_kt_tyoyksikko = t2.ti_et_tyoyksikkoid
WHERE t2.ti_et_kayttajaid = 14794),
my_users AS (
SELECT k.ti_ka_kayttajaid as USER_ID
k.ti_ka_etunimi as USER_NAME
FROM ti_kayttaja k
JOIN my_unit u ON k.ti_ka_kayttajaid = u.user_id)
SELECT * FROM my_users;
... тогда ...
WITH
my_unit AS (
SELECT t1.ti_kt_kayttajaid AS USER_ID
FROM ti_kayttajantyoyksikko t1
JOIN ti_esimiehentyoyksikko t2
ON t1.ti_kt_tyoyksikko = t2.ti_et_tyoyksikkoid
WHERE t2.ti_et_kayttajaid = 14794),
my_users AS (
SELECT k.ti_ka_kayttajaid as USER_ID
k.ti_ka_etunimi as USER_NAME
FROM ti_kayttaja k
JOIN my_unit u ON k.ti_ka_kayttajaid = u.user_id)
my_pvm AS (
SELECT PVM.PVM.ti_sk_kayttajaid AS USER_ID
PVM.ti_sk_paivamaara AS SITOUMUS_DATE
FROM ti_sitoumus_kayttaja PVM
JOIN my_unit u ON k.ti_kt_tyoyksikko = u.user_id)
SELECT *
FROM my_users
LEFT JOIN my_pvm USING (user_id);
... и наконец ...
WITH
my_unit AS (
SELECT t1.ti_kt_kayttajaid AS USER_ID
FROM ti_kayttajantyoyksikko t1
JOIN ti_esimiehentyoyksikko t2
ON t1.ti_kt_tyoyksikko = t2.ti_et_tyoyksikkoid
WHERE t2.ti_et_kayttajaid = 14794),
my_users AS (
SELECT k.ti_ka_kayttajaid as USER_ID
k.ti_ka_etunimi as USER_NAME
FROM ti_kayttaja k
JOIN my_unit u ON k.ti_ka_kayttajaid = u.user_id)
my_pvm AS (
SELECT PVM.PVM.ti_sk_kayttajaid AS USER_ID
PVM.ti_sk_paivamaara AS SITOUMUS_DATE,
PVM.ti_sk_sitoumusid AS SITOUMUS_ID
FROM ti_sitoumus_kayttaja PVM
JOIN my_unit u ON k.ti_kt_tyoyksikko = u.user_id),
my_exam AS (
SELECT EXAM.ti_su_sitoumusid as SITOUMUS_ID,
EXAM.ti_su_nimitys as SITOUMUS_NAME
FROM ti_sitoumus EXAM
WHERE EXISTS (
SELECT *
FROM ti_kayttooikeus_ryhma t3
JOIN ti_esimiehentyoyksikko t4
ON t3.ti_kr_kohdeid = t4.ti_et_tyoyksikkoid
WHERE t3.ti_kr_kayttokohde = 6
AND t4.ti_et_kayttajaid = 14784
AND EXAM.ti_su_sitoumusid = t3.ti_kr_kayttokohdeid))
SELECT user_id, user_name, sitoumus_id, sitoumus_name, sitoumus_date
FROM my_users
LEFT JOIN my_pvm USING (user_id)
LEFT JOIN my_exam USING (sitoumus_id)
ORDER BY user_id;