Это в основном вопрос SQL о том, как использовать данные из подвыбора для фильтрации вашего основного запроса.Я использую tableadapters, но вопрос в том, как сделать это в SQL без использования объединений.я использую tableadapters и ASP.NET, как описано в этой статье:
http://msdn.microsoft.com/en-us/library/aa581776.aspx
моя проблема заключается в том, как придерживаться идеи НЕ использовать соединения для моих tableadapters (причины обсуждаются встатья).У меня есть 2 таблицы: телефоны и телефонные ассоциации.таблица Phones содержит такие вещи, как phoneID, cellNumber, name и т. д. Таблица PhonesAssociations содержит информацию о том, какие телефоны (один ко многим) связаны с этим телефоном.он содержит такие вещи, как associationID, phoneID, addByID.я хочу создать запрос для адаптера таблицы, который возвращает данные телефонов (ячейка, идентификатор, имя), которые были добавлены одним идентификатором.
, если я не фильтрую данные и хочу вернуть все телефоныи связанные с ним данные просты:
SELECT
phoneID,
cellNumber,
providerID,
password,
nickname,
added,
(SELECT
addedByID
FROM PhoneAssociations pa
WHERE p.phoneID = pa.addedByID) AS addedByID
FROM Phones AS p
, но я не могу понять, как это сделать без использования объединений, это отфильтровать этот список по addByID, следующее не работает:
SELECT
phoneID,
cellNumber,
providerID,
password,
nickname,
added,
(SELECT
addedByID
FROM PhoneAssociations pa
WHERE p.phoneID = pa.addedByID) AS addedByID
FROM Phones AS p
WHERE addedBYID=1
это также не работает:
WHERE pa.addedBYID=1
это довольно просто с помощью объединений, но я не нахожу синтаксис для этого с помощью подвыборов.любой гуру SQL, который может указать мне в правильном направлении?Если вы посмотрите на статью, то увидите, что необходимо использовать подвыборы вместо соединений, чтобы адаптеры таблиц могли создавать ваши методы обновления, удаления и вставки.Спасибо!
записи, которые должны быть возвращены, должны сохранять свой первоначальный phoneID, мне нужен список всех телефонов (с их phoneID), которые были добавлены phoneID из 12 - contractorwolf 16 минут назад
я добавил это в комментариях, но, возможно, мне следует уточнить в самом вопросе:
, если я более ясен, и в таблице телефонов есть 3 записи с номерами телефонов 4,8 и 12и 2 записи в таблице PhoneAssociations с телефонными идентификаторами 4 и 8 и добавленными идентификаторами 12, которые мне нужно вернуть, - это 2 записи, имеющие телефонные идентификаторы 4 и 8, потому что они оба были добавлены с помощью 12
Phones
4
8
12
и
PhoneAssociations (addedByID is second column)
4, 12
8, 12
я пытаюсь ответить: какие идентификаторы телефонов были добавлены с помощью phoneID 12?ТНХ