JOIN четырёх таблиц

470
31 декабря 2016, 14:54

SELECT 
    divisions.`name` AS 'Подразделение',
    `staff units`.`name` AS 'Штатная единица',
    `staff units`.salary AS 'Оклад',
    `unit type`.`percentage of allowances` AS 'Процент надбавки за вредные условия труда',
    `staff units`.`percentage of allowances` AS 'Процент надбавки за ненормированный рабочий день',
    (`staff units`.salary * (1 + `unit type`.`percentage of allowances` + `staff units`.`percentage of allowances`)) AS 'Зарплата'
FROM
    `distribution of staff members`
        JOIN
    divisions ON `distribution of staff members`.iddivision = divisions.id
        JOIN
    `staff units` ON `distribution of staff members`.idstaffunit = `staff units`.id
ORDER BY 
    divisions.`name`;

Есть идеи, как дописать к FROM объединение между distribution of staff members и unit type, где unit type.id является внешним ключем таблицы divisions.idunit. HELP!

Answer 1
SELECT 
    divisions.`name` AS 'Подразделение',
    `staff units`.`name` AS 'Штатная единица',
    `staff units`.salary AS 'Оклад',
    `unit type`.`percentage of allowances` AS 'Процент надбавки за вредные условия труда',
    `staff units`.`percentage of allowances` AS 'Процент надбавки за ненормированный рабочий день',
    (`staff units`.salary * (1 + `unit type`.`percentage of allowances` + `staff units`.`percentage of allowances`)) AS 'Зарплата'
FROM
    `distribution of staff members`
        JOIN
    `staff units` ON `distribution of staff members`.idstaffunit = `staff units`.id
        JOIN
    divisions ON `distribution of staff members`.iddivision = divisions.id
        JOIN
    `unit type` ON divisions.idunit = `unit type`.id
ORDER BY divisions.`name`;
READ ALSO
Как сделать UPDATE, а при отсутствии записи - INSERT?

Как сделать UPDATE, а при отсутствии записи - INSERT?

Цель такая: если запись с таким id есть, тогда делаем инкремент значения в столбце count этой строки, а если же нет, то создаём новую запись (у столбца...

464
статья про ошибки внешних ключей [требует правки]

статья про ошибки внешних ключей [требует правки]

Написал статью, в которой перечислил известные мне случаи ошибок внешних ключей, сведя их в единую таблицу для удобства диагностики

332
Удалить 1й айтем при открытии Spinner

Удалить 1й айтем при открытии Spinner

Мне нужно, чтоб при развертывании Spinner 1й пункт "Выберете

397
Сравнение дат с помощью JPA criteria API

Сравнение дат с помощью JPA criteria API

Мне нужно получить данные из базыЕсть две переменные LocalDate startDate и LocalDate endDate

515