|
|
|
Помогите с запросом который отразит разницу чисел на порядок, плиз...
|
|||
|---|---|---|---|
|
#18+
Есть таблица с полями ИД (ИД может повторяться) и summa. Как создать запрос, который выберет значения из таблицы, сгруппированное по ИД, в которых summa отличается на порядок, т.е. в десять раз допустим? т.е. если есть значения: id summa 1 20 1 30 1 40 2 10 2 20 2 300 Чтобы вывелось в результате только 2 10 2 20 2 300 Спасибо заранее! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 18:19 |
|
||
|
Помогите с запросом который отразит разницу чисел на порядок, плиз...
|
|||
|---|---|---|---|
|
#18+
Забавный вопрос. Вот так должно работать: select * from mytable where id in (select id from mytable where min(summa)*10<=max(summa) group by id); Сейчас придет VIG и напишет лучше :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 18:30 |
|
||
|
Помогите с запросом который отразит разницу чисел на порядок, плиз...
|
|||
|---|---|---|---|
|
#18+
select * from railways where id in (select id from railways where min(Capital_Subscribed)*10<=max(Capital_Subscribed) group by id); Пишет "Невозможно использование статической функции в предложении (min(Capital_Subscribed)*10<=max(Capital_Subscribed)) Что оно хочет? :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 18:44 |
|
||
|
Помогите с запросом который отразит разницу чисел на порядок, плиз...
|
|||
|---|---|---|---|
|
#18+
select * from railways where id in (select id from railways where min(Capital_Subscribed*10)<=max(Capital_Subscribed) group by id); Только он будет отбирать и записи id summa 1 0 1 1 2 0 2 -1 3 1 4 -1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 18:56 |
|
||
|
Помогите с запросом который отразит разницу чисел на порядок, плиз...
|
|||
|---|---|---|---|
|
#18+
Не получается.... Пишет "Невозможно использование статической функции в предложении ...." Ошибка даже на SELECT railways.id FROM railways WHERE Min(id)=10 Акцесс 2002 ..... В чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 17:34 |
|
||
|
Помогите с запросом который отразит разницу чисел на порядок, плиз...
|
|||
|---|---|---|---|
|
#18+
GROUP BY добавь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 17:49 |
|
||
|
Помогите с запросом который отразит разницу чисел на порядок, плиз...
|
|||
|---|---|---|---|
|
#18+
Действительно не работает. А так работает: Запрос q1: SELECT t.id, Min(t.summa) AS Mi, Max(t.summa) AS Ma FROM t GROUP BY t.id; Запрос q2: SELECT t.id, t.summa FROM q1 LEFT JOIN t ON q1.id = t.id WHERE Mi*10<Ma; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 17:55 |
|
||
|
Помогите с запросом который отразит разницу чисел на порядок, плиз...
|
|||
|---|---|---|---|
|
#18+
SELECT * FROM railways WHERE id in (SELECT t1.id FROM railways as t1 INNER JOIN railways as t2 ON t1.id = t2.id WHERE ABS(Len(t1.[value]) - Len(t2.[value])) = 1 GROUP BY t1.id) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 17:57 |
|
||
|
Помогите с запросом который отразит разницу чисел на порядок, плиз...
|
|||
|---|---|---|---|
|
#18+
SELECT * FROM railways INNER JOIN [SELECT t1.[id] FROM railways as t1 INNER JOIN railways as t2 ON t1.id = t2.id WHERE Abs(Len(t1.summa) - Len(t2.summa)) = 1 GROUP BY t1.id]. AS t ON railways.[id] = t.[id]; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 18:03 |
|
||
|
Помогите с запросом который отразит разницу чисел на порядок, плиз...
|
|||
|---|---|---|---|
|
#18+
2Александр Шкуренко Только с дробными работать не будет. Надо бы еще clng какой-нить туда вписать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 18:07 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32355886&tid=1677604]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
186ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 249ms |
| total: | 561ms |

| 0 / 0 |
