powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Прибавление значения если есть соответствующие записи в другой таблице.
25 сообщений из 27, страница 1 из 2
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393257
theqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Вопрос такой.
Есть 2 таблицы - t1 (n,td,fd,val) И t2 (up,td,fd,typ,n) связь таблицы происходит по up из t2 с n из t1.
1)нужно в таблице t1 к val прибавить 15, если в t2 есть соответствующая запись.
2)Найти в таблице t2 такие запись, которая ссылается на несуществующую запись в таблице t1.
Если кто сталкивался помогите плз. Спасибо.
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393274
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
курите маны по left join - для обеих задач.
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393282
theqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akinaкурите маны по left join - для обеих задач.
ty ochen polezno i ponytno dly 2 kursa texnikuma. 66
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393297
theqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос еще актуален
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393344
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.sql.ru/forum/139276/rekomendacii-po-publikacii-soobshheniy-chitayte-faq-a-takzhe Для студентов и школьников (с) Shocker.Pro

В решении Ваших вопросов зачастую есть два пути, которыми можно пойти. Выберите один из них:

#19. Путь 1. "Я не знаю, не умею и знать и уметь не хочу".
В этом случае не пишите "прошу помочь сделать задание". Ведь это не соответствует действительности. Помощь подразумевает то, что человек что-то делает, у него что-то не выходит, возможно, ему нужна просто подсказка. Пишите прямо: "сделайте задание за меня", а также озвучьте, как бы вы отблагодарили того, кто это сделает. Тогда всем будет понятно, никто не будет пытаться без пользы давать подсказки, ссылки и т.п. Просто найдется тот, кто сделает. Или не найдется.

#20. Путь 2. "Я хочу разобраться и сделать это задание, и мне нужна помощь".
Этот подход подразумевает, что помимо условия задачи будут опубликованы реальные попытки автора что-то сделать, конкретные вопросы, по коду, функциям, алгоритмам, а также прочитан материал, который дал преподаватель, и/или изучены основы языка, которые даются на первых страницах любого учебника. А на ответы "вам поможет функция Split" вы не будете немедленно задавать вопрос "а что это такое?", а сначала почитаете Help по данной функции или материалы по ее использованию, во множестве доступные в Интернете.
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393357
theqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, Путь 2.
я же тоже пытался что сделать вот мои примеры
2)select * from t1 left join t2 on t1.n= t2.up where t1.n is null говорит что не верно
1) update t1 set val= val+15 where t1.fd= t2.fd and t1.n=t2.n; сказали что тоже не верно
Вы думайте я прошу сделать за меня задания ?
Я потратил на такие легкие запросы больше 3 часов, чтобы потом препод мне сказал ты сделал не верно. Я решил спросить у людей для которых это семечки. А вы мне тут иди учи иди читай. У вас займет 2 минуты у меня целый день.
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393367
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
theqwerty,

конечно "не верно". И правильно вас Акина послал маны курить запивая учебником... или вы думаете, что тут каждому неучу "просто так" помогают "из любви к исскуству"?

решение 1: неверно, потому как Вы не поняли задачу. В целом текстовка верна, но условие надо прописать ПРАВИЛЬНО, согласно задаче.

решение2: и? Вы синтаксис update, перед тем как писать - смотрели? Секция FROM у вас хде?!? или вы считаете, что мускуль сам должен догадаться ОТКУДА взять и КУДА сложить результат? :)
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393370
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
theqwertyя же тоже пытался что сделать вот мои примерыТак с этого и надо было начать!

theqwerty2)select * from t1 left join t2 on t1.n= t2.up where t1.n is null говорит что не верно
Конечно... При left join на левой стороне НЕ МОЖЕТ быть null - только на правой, т.е. только у таблицы t2. Значит, либо поменять их местами (t2 left join t1), либо сменить левое связывание на правое (t1 right join t2). Остальное верно.

theqwerty1) update t1 set val= val+15 where t1.fd= t2.fd and t1.n=t2.n; сказали что тоже не верно
Конечно... обновлению подлежит не одна таблица, а совокупность из двух таблиц.
Посему, во-первых, update t1, t2 set ..., во-вторых, раз таблиц более чем одна, то указывать для каждого поля. из какой таблицы оно взято.

theqwertyА вы мне тут иди учи иди читай.
Ответа достоин лишь тот, кто делает. Ты не показал, что делаешь - был послан читать. Показал, что делаешь - получил помощь.
По-моему, так - правильно.
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393373
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

о, кстати, просмотрел. Во втором примере t1 таки указана. Стало быть верно, нужно явное указание где и чего меняем... :)
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393379
theqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,я тут 1 час и правила форума не читал ) что примеры свои нужно показывать ) вдруг еще ржать будут :D
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393391
theqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arhat109,Найти в таблице t2 такие запись, которая ссылается на несуществующую запись в таблице t1.
select * from t2 left join t1 on t1.n= t2.up where t1.n is null
Работает mission complete :D спасибо
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393393
theqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
theqwerty, Осталось понять как сделать 1 задание )
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393407
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сравни:

theqwertyсвязь таблицы происходит по up из t2 с n из t1
theqwertywhere t1.fd= t2.fd and t1.n=t2.n
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393410
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
theqwertyвдруг еще ржать будут :DТебе сделать или чтобы не ржали?
theqwertyправила форума не читалА вот за это надо было бы тебе выписать по первое число...
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393416
theqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,) я просто не могу понять условие.
И что значит соответствующая запись?
Абсолютно такая же?
А каким образом, если поля разные?
В t1 - 4 поля, в t2 - 5 полей. Как они могут быть одинаковые, учитывая, что поля ещё и разные?
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393418
theqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaСравни:

theqwertyсвязь таблицы происходит по up из t2 с n из t1
theqwertywhere t1.fd= t2.fd and t1.n=t2.n

update t1 set t1.val = t1.val+15 where n in
(select t2.n from t1, t2 where t1.fd = t2.fd and t1.n = t2.n)
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393421
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажи, почему при решении второго примера ты использовал
Код: sql
1.
t1.n= t2.up


а для первого упорно пихаешь
Код: sql
1.
t1.fd = t2.fd and t1.n = t2.n


При том, что условие-то вроде как одно...
Для меня это - загадка.
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393431
theqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,потому что я думаю надо проверять по всем одинаковым полям :D из 2 таблиц.
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38393460
theqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо )
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38394393
theqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, Препод издивается надо мной помогите решить задание :(
T1 t2
N up
Td Td
Fd Fd
Val n
Две таблицы связь t2.up --> t1.n
1)В таблице т1 к val прибавить 15, если в т2 есть соответствующая запись.
update t1 set t1.val = t1.val+15 where n in
(select t2.n from t1, t2 where t1.fd = t2.fd and t1.n = t2.n)
Неправильно, посмотри еще раз повнимательнее, по какому условию связываются таблицы. 2) В таблице т1 к val прибавить 15, если в т2 есть соответствующая запись. Но только для живых записей.
update t1 set t1.val = t1.val+15 where n in
(select t2.n from t1, t2 where t1.fd = t2.fd and t1.n = t2.n)and sysdate between fd and td
То же замечание, что и в предыдущем задании, плюс необходимо учесть только живые не только в таблице t1, но и в t2. 3) Удалить из Таблицы t1 сдвоенные записи. Сдвоенность проверять по n,fd,val.

delete t1 where rowid not in (select max(rowed) from t1 group by n,fd,val);
Почти правильно, то такой оператор работать не будет.
4) Найти в таблице т2 такие записи, которые ссылаются на несуществующую запись в таблице t1.
4)select * from t2 left join t1 on t1.n= t2.up where t1.n is null
Не совсем правильно, надо выводить только поля из таблицы t2.
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38394439
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1)
Код: sql
1.
2.
update t1 set t1.val = t1.val+15 
where exists (select 1 from t2 where t1.fd = t2.fd and t1.n = t2.n)


2) то же + "and sysdate between fd and td" и в экзисте, и снаружи
3) ну, формально он прав (хотя в мускле работать оно таки будет - но только в нём); впрочем, добавить в подселект недостающие поля и переписать "нот ин" на "лефт джойн + ис нулл" вы уже должны уметь
4) ну так выводите - кто вас заставляет именно звёздочку туда писать?
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38394451
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglir , замена where in на where exists не изменит неправильности подхода к решению. ТС просто "смотрит в книгу, ...", к тому же он очень упорный...
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38394476
theqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

Я могу и так написать update t1 set val = val+15 where n in
(select t2.n from t1, t2 where t1.fd = t2.fd and t1.n = t2.n and sysdate between t1.fd and t1.td and sysdate between t2.fd and t2.td) and sysdate between fd and td
Только вот он опять говорит что не верно.
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38394483
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Прибавление значения если есть соответствующие записи в другой таблице.
    #38394486
theqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
theqwerty,
3-4 я сделал осталось 1 и 2 задание
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Прибавление значения если есть соответствующие записи в другой таблице.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]