У меня есть следующая схема: (звездочка означает ключевой атрибут)
person(name*)
prototype(id*, name->person)
upgrade(old*->prototype, new*->prototype)
Я сделал подзапросы:
WITH johnny AS(
SELECT id FROM prototype WHERE name = 'john')
WITH X AS(
SELECT prot.name AS upgrader, j.id AS oldStuff FROM upgrade AS u
JOIN johnny AS j ON u.old = j.id
JOIN prototype AS prot ON prot.id = u.new
)
Цель состоит в том, чтобы найти имена людей, которые сделали модернизированный / новый прототип до КАЖДОГО прототипа человека по имени «Джонни», но я не знаю, как
Может быть, вы могли бы помочь мне
Человек:
name ---
john
karl
peter
Прототип:
id|name ---
1|john
2|john
3|john
4|karl
5|karl
6|karl
7|karl
8|peter
Обновление:
old|new ---
1|4
2|5
3|6
7|8
желаемый результат: karl