|
0 / 0 / 0
Регистрация: 28.09.2014
Сообщений: 9
|
|
Создать таблицу t3, где будут отображаться данные по одинаковым значениям id — id_name таблиц28.09.2014, 18:17. Показов 1224. Ответов 12
Метки нет (Все метки)
Нужна помощь, помогите разобраться пожалуйста:
Существует 2 таблицы t1 и t2 в таблице t1 столбцы id, Name, в таблице t2 столбцы id, id_name, cel, rol необходимо создать таблицу t3, где будут отображаться данные по одинаковым значениям id - id_name таблиц (t1, t2) и при условии, что в таблице t2 (если в столбце cel есть одинаковые значения, считать в сумму значения столбца rol), то есть должна получится следующая таблица из двух таблиц t1 id | Name | 1 ol 2 lo 3 so t2 id | id_name | cel | rol 1 1 1 5 2 2 2 4 3 1 1 3 4 3 3 7 5 1 2 3 6 1 2 2 7 2 2 3 8 2 1 5 9 2 1 2 что должно получится: t3 id | id_name | cel | Sum_rol 1 1 1 5+3=8 2 1 2 3+2=5 3 2 1 5+2=7 4 2 2 3+4=7 Добавлено через 6 минут в ms sql
0
|
|
| 28.09.2014, 18:17 | |
|
Ответы с готовыми решениями:
12
Создать скрипт, который открывая через Python, будет показывать таблицу из двух столбцов, где будут числа от 0 до 10 При добавлении строк в таблицу данные перестают отображаться в DataGridView |
|
0 / 0 / 0
Регистрация: 28.09.2014
Сообщений: 9
|
|
| 30.09.2014, 21:19 [ТС] | |
|
Спасибо! буду дальше разбираться! ) это только лишь кусочек огромного проекта.. )
Добавлено через 2 часа 54 минуты Подскажите еще такой момент с условием: в таблицу T3 добавляется 1 колонка, назовём её Proc в неё необходимо выводить данные по условиям 1. if cel = 1 then Proc = ((rol/5)*100) else if cel = 2 then proc = (rol- RT) else * RT - новое значение в таблице t1, значение этого столбца которое соответствует ID_Name таблицы t3) и if cel = 3 then Proc = ( rol - rol(cel который равен 2) ) Спасибо огромнейшее за помощь - за ранее! ) Добавлено через 3 часа 25 минут
0
|
|
|
|
||||||
| 01.10.2014, 10:22 | ||||||
Сообщение было отмечено oldjier как решение
Решение
oldjier, не совсем понял, что именно нужно, но выглядит приблизительно так
1
|
||||||
|
0 / 0 / 0
Регистрация: 28.09.2014
Сообщений: 9
|
|
| 01.10.2014, 11:28 [ТС] | |
|
SELECT
Proc= CASE WHEN cel = 1 THEN ((rol/5)*100)) WHEN cel = 2 THEN (rol- (RT from t1)) WHEN cel = 3 THEN ( rol - rol(cel=2) ) ELSE /*значение не соответсвующее ранее перечисленным*/ END FROM t2 выдает ошибку : Неправильный синтаксис около ключевого слова "Proc" и правильно ли выделенное красным? извините я просто новичёк в SQL и пытаюсь разобраться на практике... спасибо за помощь Добавлено через 5 минут а по второму даже вот как то так WHEN cel = 2 THEN (rol- (RT(id=(id_name from t2) from t1))) Добавлено через 3 минуты нужно от Значения Rol таблицы t2 отнять значение которое подходит по Id (id_name=id) в столбце Rt таблицы T1 Добавлено через 5 минут C ошибкой разобрался!! ) остается второй вопрос..
0
|
|
|
0 / 0 / 0
Регистрация: 28.09.2014
Сообщений: 9
|
||||||
| 01.10.2014, 13:47 [ТС] | ||||||
|
Там просто нужно было поменять название столбца с Proc
а как их связать через JOIN
мне просто нужно понять суть на данном примере, а так у меня база огромнейшая и совершенно другие данные и столбцы и все дела, спасибо Добавлено через 33 минуты c Join разобрался! остается 1 вопрос вроде ) как осуществить - WHEN cel = 3 THEN ( rol - rol(cel=2) ) Добавлено через 5 минут Может как то так: WHEN cel = 3 THEN ( rol- (rol=(when cel=2 then)) ) ? но ругается! Добавлено через 1 час 19 минут Вроде разобрался с нюансами, теперь вот только соединить не получается : SELECT id_name, cel, Sum_rol = SUM(rol) FROM t2 GROUP BY id_name, cel, Procs = CASE WHEN cel = 1 THEN ((rol/5)*100) WHEN cel = 2 THEN (rol- (Select rol from t2 where cel=3)) WHEN cel = 3 THEN (rol- rt) END FROM t2 inner join t1 on t2.id_name = t1.id я так понимаю что что то конфликтует между собой...
0
|
||||||
|
|
||||||
| 02.10.2014, 10:52 | ||||||
Сообщение было отмечено oldjier как решение
Решение
Абсолютно не понятно, что нужно сделать. Накропал на коленке что-то приблизительное
1
|
||||||
|
0 / 0 / 0
Регистрация: 28.09.2014
Сообщений: 9
|
|
| 02.10.2014, 11:57 [ТС] | |
|
WHEN t2.cel = 2 THEN (t2.rol- (SELECT t2.rol FROM t2 WHERE t2.cel=3))--тут какой-то бред
здесь мне нужно отнять значение от rol текущего rol которое соответствует cel=3 FROM t2 INNER JOIN t1 ON t2.id_name = t1.id-- так и не понял, зачем было присоединять таблицу t1 t1 для того чтобы вычесть значение RT которое находится в таблице users Добавлено через 2 минуты как то вот таким образом - WHEN cel = 2 THEN (rol- (case WHEN сel=3 THEN rol end))
0
|
|
|
|
|||
| 02.10.2014, 12:05 | |||
Сообщение было отмечено oldjier как решение
РешениеЯ не могу давать советы, не понимая сути происходящего. На данный момент мне уже не понятно, какой должен быть результат
1
|
|||
|
0 / 0 / 0
Регистрация: 28.09.2014
Сообщений: 9
|
||
| 02.10.2014, 12:17 [ТС] | ||
|
а если будет несколько строк, у которых будет cel=3 ?
для этого я их и связываю по id - cel=3 у id=1 - только 1 как то вот таким образом - WHEN cel = 2 THEN (rol- (case WHEN сel=3 THEN rol end)) это не будет работать а как можно узнать тогда значение rol при cel = 3? Добавлено через 7 минут Добавлено через 27 секунд THEN rol
0
|
||
|
|
|||||||||
| 02.10.2014, 12:46 | |||||||||
1
|
|||||||||
|
0 / 0 / 0
Регистрация: 28.09.2014
Сообщений: 9
|
||
| 02.10.2014, 12:54 [ТС] | ||
|
WHEN cel = 2 THEN (rol- (SELECT t2.rol FROM t2 WHERE t2.cel=3)) ? Добавлено через 5 минут Да проверил, все норм. Спасибо огромное!
0
|
||
| 02.10.2014, 12:54 | |
|
Помогаю со студенческими работами здесь
13
Выбрать данные из нескольких таблиц только по существующим значениям в таблицах Условие, при котором данные не будут записываться в таблицу Группировать по одинаковым значениям Сортировка двух столбцов по одинаковым значениям Создать игру, где будут 2-3 барана и волк Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во
всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
|