В схеме четыре таблички, ну чево ты тупишь, а....
33 comments
Надо запомнить уже наконец больше никогда не заполнять тестовые данные руками Капец, они убрали кнопку лайкнуть ответ Внезапно, мой написанный из головы запрос с двумя подзапросами заработал с первого раза....шта... Запросики кажется есть. Страшненькие немного, но щитоподелать если так работает фильтр по максимальному значению в SQL Хорошо что я решила сначала описать результат а потом уже писать код Получается, три часа работы в состоянии ьеьеьеьеьеь нужны были лишь для того, чтобы задаться тем самым вопросом «а что если» и в итоге добавить ещё одну сущность и переписать все запросы... Кажется я задаю слишком много вопросов. С другой стороны, вроде логичных...но теперь возникшую сложность надо как-то решать, а я ьеььеьеьеьее.... Теперь селекты станут ещё более многоуровневовые, видимо...мозг просыпайся.... ...и вылез граничный случай, который крайне редкий но если я его проигнорирую то меян будет бесить его возможность аааааааааааааааааа Я не хочу воспроизводить гит в реляционной базе но я не знаю как ещё корректно обойти этот граничный случай... Я потерялась в селектах и группировках и вспомнила о существовании вьюх в SQL У меня смутное ощущение что мне могут помочь оконные функции Как я понимаю, они позволяют нарезать селект на группы без собственно группировки, и потом эти группы можно отдельно друг от друга сортировать, и выбирать то самое максимальное значение что мне нужно Осталось только переделать тестовую базу под новую схему и потестировать.... стоп у меня кажется получился тот же самый group by... Поняв что я уперлась в тупик, я снова задалась вопросом «а что если» Почему я утром была такая бодрая и продуктивная, а щас смотрю на написанное для себя ТЗ как баран на новые ворота, и не могу додумать, что мне нужно поменять чтобы пробросить в API кусочек ещё одной сущности... Обидно, что как только я вроде бы подебила мозг, работать отказался ноутбук... Обидно, что как только я вроде бы подебила и ноутбук и мозг, пришёл РКН и сказал "сегодня без ваергарда" :blobcattableflip: @oreolek это если айпишник белый. Белый там в лучшем случае IPv6. Который не факт что есть на том вайфае на котором я ща сижу @oreolek и через чьи сервера он из-за NAT вытаскивает порты? @mo звучит хрупко. Нужно будет постоянно следить за таймстампами при записи в БД. У меня недавно была возможно похожая ситуация. Я решил записать в таблицу истории статусов два статуса подряд. В одной транзакции. И я не учёл, что запрос на запись использует now в БД. И оно считается на момент коммита транзакции. А все запросы на чтение просто искали max по таймстампу. И в моём случае записей с максимальным таймстампом было две. И бралась первая по порядку, с неактуальным значением статуса. @mrcopperbeard да, но в моем случае таймштампы берутся из гита, и база знает только о тех коммитах которые засветились в CI |
Интересно, а можно ли это сделать проще чем селект с двумя подзапросами....