У меня есть 2 таблицы:
Сервис_БД:
ОБЪЕКТ:
Теперь у меня есть требование удалить избыточные столбцы в таблице LOB, такие как industryId и т. д., и использовать таблицу Service_BD для извлечения больших объектов для IndustryId, а затем получить сведения о конкретном LOB с помощью таблицы LOB.
Я пытаюсь получить один SQL-запрос, используя Inner Joins, но результаты странные.
Когда я запускаю простой SQL-запрос, подобный этому:
SELECT industryId, LobId
FROM Service_BD
WHERE industryId = 'I01'
GROUP BY lobId
В результате получается 9 рядов:
Теперь я хотел бы присоединиться к остальным столбцам больших объектов (конечно, за исключением отброшенных), чтобы получить из них сведения о больших объектах. Поэтому я использую следующий запрос:
SELECT *
FROM LOB
INNER JOIN Service_BD ON Service_BD.lobId = LOB.lobId
WHERE Service_BD.industryId = 'I01'
GROUP BY Service_BD.lobID
Я получаю желаемые результаты, но у меня есть сомнения, является ли это наиболее эффективным способом или нет. Я сомневаюсь, потому что таблицы Service_BD и LOB содержат огромное количество данных, но у меня есть ощущение, что если сначала выполнить GROUP BY Service_BD.lobID
, это уменьшит временную сложность условия WHERE
.
Просто хотел узнать, правильно ли это написать запрос или есть ли лучшие способы сделать то же самое.