Я хочу сделать подзапрос с 3 таблицами и использовать где в нескольких значениях, но я всегда получаю синтаксическую ошибку. Я должен делать отчеты в Report Builder 3.0Как выполнить подзапрос с тремя таблицами и использовать предложение where в нескольких значениях?
Таблица A: record_id, фамилия, имя
Таблица C: row_id, competency_code, competency_name
Table PC: link_id, record_id, row_id, attainment_date
Я хотел бы присоединиться к столам в 1 таблицу. У одного человека будет некоторое завершение класса competency_code и другое с другим человеком. завершение кода competency_code на основе достижения_даты. Я также думаю, что использовать функцию iff для attainment_date в значении competency_code как полное/да.
В таблице, что я хотел бы создать это:
Record_Id | Surname | GivenName | Code 1 | Code 2 | Code 3 | Code 4 | Code 5
01 | AA | AA | Complete | Complete | Complete | | Complete
02 | BB | BB | Complete | Complete | | Complete |
03 | CC | CC | | Complete | Complete | | Complete
вот вопрос, что я пытался сделать.
select distinct a.id, a.surname, a.given_name
from all a
join
(
select pc.attainment_date
from personnel_competency pc
join
(
select c.code, c.name
from competency c)
competency c on (c.row_no = pc.linkid)
)
personnel_competency pc on (pc.id = a.id)
where c.code in ('ABC', 'BCD', 'ABE', 'DEA', 'DEF', 'POS', 'SAQ', 'LOP')
and pc.attainment_date < now()
order by a.record_id
Мое умение в SQL является очень простым. Существуют ли другие способы сделать таблицу такой?
да, мне нужно SQL заявление, чтобы создать таблицу. есть некорректный синтаксис около точки поворота. –
http://sqlfiddle.com/#!3/e92ab/1 Я пробовал это в SQLFiddle, но все же синтаксическую ошибку. –
В создавшемся вами скрипте есть несколько ошибок (хорошая попытка). Пожалуйста, сначала поймите свои данные. Канал передачи данных между PC.link_id = Tc.row_id не может быть выполнен так, как ничто не соответствует на основе ваших данных, поэтому данные никогда не будут возвращены. Во-вторых, изучите синтаксис SQL, чтобы узнать, как построить запрос. Обновите [Ваш sqlfiddle.com/#!3/e92ab/64](http://sqlfiddle.com/#!3/e92ab/64) – Tak