Результаты поиска по запросу "cross-join"

2 ответа

Просто добавьте одно условие. Левая сторона всегда должна быть меньше правой. Это исключит все нежелательные случаи.

тим, у меня есть следующая строка в моей таблице строки таблицы id 63 64 65 66 67 68если я выполню следующий запрос, я получу 30 строк. SELECT r1.id, r2,id FROM rows AS r1 CROSS JOIN rows AS r2 WHERE r1.id!=r2.id результат: 63 64 65 64 66 64 ...

2 ответа

В первом абзаце вы путаете CROSS и OUTER соединения. Перекрестное соединение с пустой таблицей приводит к пустому результату.

нтересноCROSS JOIN можно безопасно заменить наINNER JOIN в любом запросе, когда он найден. ЯвляетсяINNER JOIN безON или жеUSING точно так же, какCROSS JOIN? Если да, имеетCROSS JOIN Тип был придуман только для того, чтобы лучше выразить ...

1 ответ

@BrashEquilibrium, в комбинациях, порядок не имеет значения; (A, B) является тем же подмножеством, что и (B, A). Это решение гарантирует, что выбран только один из них. Хотя это означает, что t1.field всегда будет упорядочен до t2.field, это не делает его перестановкой. И да, вы можете использовать предложение WHERE для дальнейшего ограничения совпадений.

у меня есть таблица, которую я бы хотел скрестить с самим собой, как я могу удалить дублирующиеся строки? Или, другими словами, как я могу сделать перекрестное объединение «заказ не имеет значения»? Так, например, если у меня есть таблица ...

ТОП публикаций

2 ответа

SQL Server 2008 с использованием SUM () OVER (ORDER BY…)

Я пытаюсь использовать CTE и CROSS JOIN для набора результатов. Я хочу подвести итог 4 строк, ведущих к текущей строке. Я обнаружил, что в онлайн-примере не используется CTE, только недавно созданная таблица ...

3 ответа

В SQL, в чем разница между JOIN и CROSS JOIN?

Какая разница между: select t1.a1, t1.a2, t1.a3 from t1 cross join t2 where t1.a3 = t2.a1а также: select t1.a1, t1.a2, t1.a3 from t1,t2 where t1.a3=t2.a1;Могу ли я использовать их взаимозаменяемо?

1 ответ

Перекрестное соединение с использованием QueryOver

Как можно заменить приведенный ниже HQL-запрос с помощью API QueryOver? var sql = "from Role r, Action a where r.Active = :active and a.Active = :active"; var result = manager.Session.GetISession().CreateQuery(sql) .SetBoolean("active", ...

1 ответ

Агрегатные функции в нескольких соединенных таблицах

У меня есть три таблицы: CREATE TABLE foo ( id bigint PRIMARY KEY, name text NOT NULL ); CREATE TABLE foo_bar ( id bigint PRIMARY KEY, foo_id bigint NOT NULL ); CREATE TABLE tag ( name text NOT NULL, target_id bigint NOT NULL, PRIMARY KEY (name, ...

4 ответа

Синтаксис запроса PostgreSQL LEFT OUTER JOIN

Допустим, у меня естьtable1: id name ------------- 1 "one" 2 "two" 3 "three"Иtable2 с внешним ключом к первому: id tbl1_fk option value ------------------------------- 1 1 1 1 2 2 1 1 3 1 2 1 4 3 2 1Теперь я хочу получить в результате ...