Я работаю с веб-частью SharePoint, которую я проектирую на C #. Мне нужно запросить базу данных SQL Server 2005, чтобы вернуть имена машин, которые связаны с конкретным клиентом, выбранным пользователем.
Проблема в том, что существуют разные типы машин, а сами имена хранятся в нескольких других таблицах. Вот структура, которая относится к этому вопросу:
У меня есть таблица "customerInfo", которая содержит идентификатор и имя каждого клиента. Идентификатор является первичным ключом.
Таблица «идентификаторы машины» связывает идентификаторы клиентов с соответствующими идентификаторами машин. Идентификатор машины - это первичный ключ.
У меня есть две таблицы для двух типов машин: «machine1» и «machine2». machine1 содержит имя самой машины, но machine2 содержит только идентификатор типа машины. В обеих этих таблицах идентификатор машины является первичным ключом.
Тогда у меня есть таблица «SpecialtyMachine». Эта таблица содержит название машины и идентификатор машины этого типа. Первичным ключом здесь является идентификатор типа, который идентифицирует тип машины, тогда как идентификатор машины идентифицирует конкретную машину.
Что мне нужно сделать, это получить имя машины из machine1 и specialtyMachine, используя только идентификатор клиента. Я не уверен, возможно ли сделать это с помощью сложного соединения непосредственно в запросе, или мне нужно будет применить логику в веб-части, чтобы собрать эту информацию вместе.
Я также хотел бы знать, как я могу думать об этом с точки зрения общей модели. Я хотел бы иметь возможность распознать это и применять его в будущем, поскольку я уверен, что это довольно распространенная проблема, с которой я еще просто не сталкивался. Спасибо.