|
Запрос (найти одинаковые пары) | ☑ | ||
---|---|---|---|---|
0
serega2671
11.12.15
✎
01:05
|
Доброго.
К примеру: есть таблица. условие А и Б = Б и А А и Б Значение 1 Б и А Значение 1 Г и Д Значение 1 А и Л Значение 1 Д И Г Значение 1 на выходе нужно получить А и Б Значение 2 Г и Д Значение 2 |
|||
1
ИсчадиеADO
11.12.15
✎
01:09
|
количество(*)
не уж то сам не напишешь? |
|||
2
serega2671
11.12.15
✎
01:18
|
в студию решение
|
|||
3
GROOVY
11.12.15
✎
03:09
|
В студию ПРИЗ!
|
|||
4
GROOVY
11.12.15
✎
03:10
|
Не напишет, он и сформулировать не может.
|
|||
5
Лодырь
11.12.15
✎
04:44
|
(4) 6 с лишним лет опыта. Может и осилить.
|
|||
6
cw014
11.12.15
✎
07:29
|
Допустим, А - поле1, Б - поле2
|
|||
7
cw014
11.12.15
✎
07:30
|
Тогда:
ВЫБОР КОГДА (поле1 = поле1 И поле2 = поле2) ИЛИ (поле1 = поле2 И поле2 = полей) ТОГДА 1 ИНАЧЕ 0 КОНЕЦ |
|||
8
dk
11.12.15
✎
07:57
|
Добавь ключевое поле типа
CASE WHEN A>Б THEN A+Б ELSE Б+А END KEY и группируй по ключу |
|||
9
dk
11.12.15
✎
07:59
|
ну и условие на HAVING COUNT(*) > 1
|
|||
10
User_Agronom
11.12.15
✎
08:28
|
(5) Длина полоски под ником не всегда равна длине всем известного органа!
Читая стартовый топик я не понял сколько столбцов в первоначальной таблице. Три? а почему между первым и вторым есть союз "и", а между вторым и третьим нет. И что такое "значение"? Тоже столбец? Тема - находка для Евгения Ваганыча! |
|||
11
cw014
11.12.15
✎
08:29
|
(8) В таком формате CASE не нужен
|
|||
12
Лодырь
11.12.15
✎
08:34
|
(8) Операция сложения может быть не определена на множестве. как и отношения < и >
|
|||
13
Vladal
11.12.15
✎
08:35
|
(0) Нарисуй сюда таблицу, хотя бы 5 строк, которые ты описал.
|
|||
14
dk
11.12.15
✎
08:40
|
(7) чо то ты не то покурил )
(12) я ведь не телепат чтобы угадывать какие там данные |
|||
15
serega2671
11.12.15
✎
08:46
|
А Б 1
Б А 1 Г Д 1 А Л 1 Д Г 1 считать что А Б = Б А сгруппировать - получить А Б 2 Г Д 2 |
|||
16
Лодырь
11.12.15
✎
08:47
|
(15) Порядок на множестве задан?
|
|||
17
Лодырь
11.12.15
✎
08:49
|
(15) Спрошу проще, почему ты решил что верный ответ
А Б 2 Г Д 2 а не Б А 2 Д Г 2 |
|||
18
13_Mult
11.12.15
✎
09:05
|
если для прикола )
ВЫБРАТЬ "А и Б" КАК Поле1, 1 КАК Поле2 ПОМЕСТИТЬ ВТ ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Б и А", 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Г и Д", 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "А и Л", 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Д и Г", 1 ; //////////////////////////////////////////////////////////// ВЫБРАТЬ ВЫБОР КОГДА ВТ.Поле1 = "Б и А" ТОГДА "А и Б" ИНАЧЕ ВЫБОР КОГДА ВТ.Поле1 = "Д и Г" ТОГДА "Г и Д" ИНАЧЕ ВТ.Поле1 КОНЕЦ КОНЕЦ КАК Поле3, СУММА(ВТ.Поле2) КАК Поле2 ИЗ ВТ КАК ВТ СГРУППИРОВАТЬ ПО ВЫБОР КОГДА ВТ.Поле1 = "Б и А" ТОГДА "А и Б" ИНАЧЕ ВЫБОР КОГДА ВТ.Поле1 = "Д и Г" ТОГДА "Г и Д" ИНАЧЕ ВТ.Поле1 КОНЕЦ КОНЕЦ |
|||
19
Лефмихалыч
11.12.15
✎
09:07
|
(0) как и откуда должно образоваться "значение 2"?
|
|||
20
Лефмихалыч
11.12.15
✎
09:08
|
и куда делись А и Л?..
|
|||
21
serega2671
11.12.15
✎
09:17
|
брррр
Оставим только А Б 1 Б А 1 Считается что А Б = Б А. Нужно вывести А Б 2 как если бы было А Б 1 А Б 1 ----- А Б 2 |
|||
22
Лодырь
11.12.15
✎
09:22
|
задам последний раз вопрос.
Операция сравнения определена на множестве значений А и Б? Если нет, то как вы понимаете, что выводить надо А Б 2 а не Б А 2 |
|||
23
Repey
11.12.15
✎
09:23
|
выбрать Поле11, Поле 12, Количество(Поле11) как колич
ИЗ (Выбрать Поле01 КАК Поле11, Поле02 КАК Поле 12 Из вхТаб Объединить ВСЕ Выбрать Поле02, Поле01 Из вхТаб) КАК Таб2 Вот так пойдет? |
|||
24
Repey
11.12.15
✎
09:27
|
(23) А!!
выбрать Поле11, Поле 12, Количество(Поле11) как колич ИЗ (Выбрать Поле01 КАК Поле11, Поле02 КАК Поле 12 Из вхТаб Объединить ВСЕ Выбрать Поле02, Поле01 Из вхТаб) КАК Таб2 сгруппировать по Поле11, Поле 12 |
|||
25
Repey
11.12.15
✎
09:42
|
.. Или вот еще вариант
выбрать Поле11, Поле 12, Количество(Поле11) как колич ИЗ (Выбрать выбор когда Поле01 > Поле02 Тогда Поле02 Иначе Поле01 конец КАК Поле11 , выбор когда Поле01 > Поле02 тогда Поле01 иначе Поле02 конец КАК Поле 12 Из вхТаб ) КАК Таб2 сгруппировать по Поле11, Поле 12 |
|||
26
dk
11.12.15
✎
09:42
|
|
|||
27
Ildarovich
11.12.15
✎
10:36
|
Как я понял задачу: требуется посчитать число одинаковых записей, если одинаковость допускает перестановку реквизитов местами. Можно соединить таблицу саму с собой, определив, не встречается ли где записи с переставленными реквизитами. Но лучше (надежнее) сделать так:
|
|||
28
serega2671
11.12.15
✎
10:44
|
(25)(27) СПС
|
|||
29
serega2671
11.12.15
✎
10:45
|
(26) тоже=)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |