Как вернуть строки, которые не соответствуют другой таблице? - PullRequest
1 голос
/ 06 мая 2011

Я использую беглые nhibernate и nhibernate 3.1, и мне интересно, как сделать запрос для получения результатов, которые не совпадают в другой таблице.

Скажем, у меня 5 записей из таблицы A и 3 записи вTableB.Теперь 3 из Таблицы A соответствуют 3 из Таблицы B.

Так что я хочу вернуть эти 2 строки обратно, так как они не в TableB.Кажется, что все соединения, которые я видел, ищут совпадения и возвращают совпадения.Я хочу в основном вернуть различия.

, если, скажем, у меня было 5 записей из таблицы А и 100 в таблице В, но ни одна из записей таблицы А не соответствовала ни одной в таблице В, я хочу вернуть все записи таблицы А.

1 Ответ

0 голосов
/ 06 мая 2011

Ну, я не уверен, что отвечаю на правильный вопрос, ваше описание кажется немного нечетким ...

Есть несколько способов сделать это ...

Полагаю, что самым простым и простым способом было бы использовать SQL-запрос:

string sqlQuery = "Выбрать * из TABLENAMEA A, где нет поля a (выберите b.field из TABLENAMEB b)"

results = (OBJECT) session.ExecuteSQL (sqlQuery);

Имейте в виду, что я делаю это из памяти, я знаю, что средства для этого существуют ... И, вероятно, не будут приниматьВам больше минуты или двух, чтобы выяснить ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...