|
Таблица значений | ☑ | ||
---|---|---|---|---|
0
hello19
02.07.12
✎
19:12
|
Здравствуйте, форумчане!
Скажите, можно ли в таблице значений, в которой 3 столбца фиксировать и искать значение 3-го столбца по значению второго? Сложновато написал) Вообщем как перейти от такой таблицы значений: х у коэффициент 1 1 10 1 3 100 2 1 100 2 2 20 2 3 1000 К такой: х у коэффициент 1 1 1 1 3 10 2 1 5 2 2 1 2 3 50 нашли коэффициент у которого х=у (=1) и поделели все коэффициенты в строчке, в которой х=1 (у пробегает значения 1 и 3) Потом перешли туда, где х = 2. Нашли там коэффициент, где х=у и поделили все коэффициенты с х=2 (у пробегает значения 1, 2, 3) |
|||
1
GROOVY
02.07.12
✎
19:15
|
То ли спать пора, то ли я тупой, но ничего не понял.
|
|||
2
Fragster
гуру
02.07.12
✎
19:17
|
(1) лабораторная работа, что...
(0) запросом? |
|||
3
hello19
02.07.12
✎
19:19
|
GROOVY - просто надой найти в таблице коэффициенты у которых х=у и поделить все коэффициенты на это значение при данном х
|
|||
4
hello19
02.07.12
✎
19:20
|
х у коэффициент
1 1 10 1 3 100 Находим тут коэффициент у которого х=у (=1) это 10 делим на него все коэффициенты с таким х Получаем: х у коэффициент 1 1 1 1 3 10 |
|||
5
hello19
02.07.12
✎
19:21
|
Fragster как запрос должен выглядеть?
|
|||
6
Fragster
гуру
02.07.12
✎
19:24
|
(5) делаешь временную таблицу с коэффициентами, делаешь левое соединение твоей таблицы с этой таблицей и делишь как надо
|
|||
7
GROOVY
02.07.12
✎
19:24
|
Из первой таблицы я вижу только две строки где x = y
1 1 10 2 2 20 Не... я ваще туплю видимо по страшному... |
|||
8
hello19
02.07.12
✎
19:26
|
GROOVY да, правильно все этим строкам соответствую коэффициенты 10 и 20 соответственно.
Вот на них и делим: там где х=1 делим на 10 при всех у там где х=2 делим на 20 |
|||
9
GROOVY
02.07.12
✎
19:28
|
ААААААААААаааааааааааааааааааа! Емае....
Запросом не взлетит. |
|||
10
hello19
02.07.12
✎
19:29
|
Всмысле не взлетит?
|
|||
11
hello19
02.07.12
✎
19:31
|
покажите, как сделать запросом
|
|||
12
GROOVY
02.07.12
✎
19:31
|
При фиксированном количестве строк запросом такую задачу решить можно, при динамическом - нет.
|
|||
13
hello19
02.07.12
✎
19:31
|
можно ли без использования временной таблицы
|
|||
14
GROOVY
02.07.12
✎
19:33
|
(13) Еще раз внимательно читаем (12) и думаем.
|
|||
15
ILM
гуру
02.07.12
✎
19:33
|
ВЫБРАТЬ X, Y,
ВЫБОР КОГДА Х=1 ТОГДА Коэффициент/10 ИНАЧЕ Коэффициент/20 Конец КАК Коэффициент ИЗ ТАБЛИЦА Как то так, йопта |
|||
16
Fragster
гуру
02.07.12
✎
19:34
|
(12) ты про возможность нескольких строк с разными коэффициентами для одного Х?
|
|||
17
GROOVY
02.07.12
✎
19:36
|
(16) Если Кол строк с Х=1 неопределено Тогда полная фигня с запросом.
|
|||
18
hello19
02.07.12
✎
19:36
|
ILM - а если в таблице 1000 строк? просто так не сделаешь
GROOVY - количество строк фиксированно (около 10 000) Но я сейчас решаю на примере 5 строк |
|||
19
Fragster
гуру
02.07.12
✎
19:38
|
(17) ну, это у автора надо спросить, сколько у него строк с х=у=1
|
|||
20
hello19
02.07.12
✎
19:39
|
(19) в любом случае это количество фиксированно.
Пока с х=1 2 строки, с х=2 - 3 строки |
|||
21
GROOVY
02.07.12
✎
19:39
|
(19) 10000 или около того ;)
Ребята, удачи с решением проблемы... |
|||
22
Fragster
гуру
02.07.12
✎
19:41
|
(20) не с х=1, а с х=у=какое-то число. т.е. тот самый коэффициент - он однозначный?
|
|||
23
hello19
02.07.12
✎
19:42
|
(21) как решить задачу для 5 строк?
я просто хочу запустить цикл, но не знаю как обращатсья к эмелентам таблице если в ней несколько столбцов. Думал просто выделять куски, где х имеют одно значение: Отбор = Новый Структура ("х", а); Строка = Коэффициенты.НайтиСтроки(Отбор); а меняется от 1 до 2 в моем случае Строка в даном случае массив строк - не знаю как работать с ними... |
|||
24
hello19
02.07.12
✎
19:42
|
(22) да, коэффициент однозначный
|
|||
25
hello19
02.07.12
✎
19:43
|
сли кому интересно, то это просто матрица в таблице значений - матрица коэффициентов системы уравнений
|
|||
26
ILM
гуру
02.07.12
✎
19:43
|
Йопта, тогда так
ВЫБРАТЬ Х, Y, Коэффициент/(X*10) КАК Коэффициент ИЗ Таблица И не учите отцов, что в СиКуЭле можно, а что нельзя ))) |
|||
27
hello19
02.07.12
✎
19:45
|
(26) почему му делим на х*10 ?
Делить надо на значение коэффициента. Коэффициент в той строчке, где х=у |
|||
28
Fragster
гуру
02.07.12
✎
19:46
|
Выбрать
Таблица.х, Таблица.К Поместить Коэффициенты Из Таблица ГДЕ х=у; Выбрать Таблица.х,Таблица.у,Таблица.к/ЕстьNULL(Коэффициенты.К) как К Из Таблица Левое соединение Коэффициенты по Таблица.х = Коэффициенты.х |
|||
29
hello19
02.07.12
✎
19:47
|
(28) что значит "Поместить Коэффициенты"
|
|||
30
Fragster
гуру
02.07.12
✎
19:49
|
справка - содержание справки - встроенный язык - работа с запросами
|
|||
31
ILM
гуру
02.07.12
✎
19:49
|
Блин, нужно было (0) Прочитать )))
ВЫБРАТЬ РАЗЛИЧНЫЕ X, Коэффициент ПОМЕСТИТЬ МВТ_ТАБ ИЗ ТАБЛИЦА ; ВЫБРАТЬ Т1.Х, Т1.Y, T1.Коэффициент/T2.Коэффициент ИЗ ТАБЛИЦА КАК Т1 ЛЕВОЕ СОЕДИЕНЕНИЕ МВТ_ТАБ КАК T2 ПО Т1.X = T2.X Опаньки .... НАдеюсь X=Y есть для всех строк ))) |
|||
32
ILM
гуру
02.07.12
✎
19:51
|
Ну в первой части запроса
ГДЕ T1.X=T1.Y |
|||
33
ILM
гуру
02.07.12
✎
19:52
|
ВЫБРАТЬ РАЗЛИЧНЫЕ X, Коэффициент
ПОМЕСТИТЬ МВТ_ТАБ ИЗ ТАБЛИЦА ГДЕ X=Y ; ВЫБРАТЬ Т1.Х, Т1.Y, T1.Коэффициент/T2.Коэффициент ИЗ ТАБЛИЦА КАК Т1 ЛЕВОЕ СОЕДИЕНЕНИЕ МВТ_ТАБ КАК T2 ПО Т1.X = T2.X |
|||
34
hello19
02.07.12
✎
19:52
|
можете целиком запрос написать
|
|||
35
Fragster
гуру
02.07.12
✎
19:52
|
(34) неа
|
|||
36
hello19
02.07.12
✎
19:52
|
(35) пост не Вам адресован
|
|||
37
hello19
02.07.12
✎
19:56
|
(33) а что за Т2? что это аз таблица?
|
|||
38
Fragster
гуру
02.07.12
✎
19:57
|
какая молодежь наглая пошла
|
|||
39
experimentator76
02.07.12
✎
20:26
|
(38) нам на смену)))))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |