В проекте, над которым я работаю, я застрял в структуре таблицы из Hades.Необходимо помнить две вещи:
- Я не могу изменить структуру таблицы прямо сейчас.Я застрял с ним на данный момент.
- Запросы генерируются динамически и не жестко закодированы.Поэтому, когда я запрашиваю запрос, который может получить эти данные, я действительно работаю над алгоритмом, который будет генерировать нужный мне запрос.
Надеюсь, я смогу объяснить проблему, не делаяВаши глаза остекленели, а ваш мозг взорвался.
У нас есть таблица экземпляров, которая выглядит (упрощенно) следующим образом:
Instances
InstanceID active
1 Y
2 Y
3 Y
4 N
5 Y
6 Y
Затем, есть несколько таблиц данных вдоль этих строк:
Table1
InstanceID field1 reference_field2
1 John 5
2 Sally NULL
3 Fred 6
4 Joe NULL
Table2
InstanceID field3
5 1
6 1
Table3
InstanceID fieldID field4
5 1 Howard
5 2 James
6 2 Betty
Обратите внимание, что поле reference_field2 в таблице Table1 содержит ссылку на другой экземпляр.Поле 3 в таблице 2 немного сложнее.Он содержит fieldID для Таблицы 3.
Мне нужен запрос, который выдаст мне следующий список:
InstanceID field1 field4
1 John Howard
2 Sally
3 Fred
Проблема в том, что в запросе, который у меня есть, яне получайте Фреда, потому что в Table3 нет записи для fieldID 1 и InstanceID 6. Итак, самый лучший список, который я смог получить до сих пор, это
InstanceID field1 field4
1 John Howard
2 Sally
По сути, если есть записьв таблице 1 для поля 2, и в таблице 3 нет записи с экземпляром instanceID, содержащимся в field2, и идентификатором поля, содержащимся в field3, я не получаю данные из field1.
Я смотрел наприсоединяется, пока у меня не посинет лицо, и я не вижу способа справиться со случаем, когда в table3 нет записи.