|
|
|
Выборка строки по данным из другой строки.
|
|||
|---|---|---|---|
|
#18+
Приветствую, столкнулся с проблемой и не могу найти решение мускул толком не знаю, так что простите если вопрос глупый. Есть софтинка она пишет лог в базу изменить то как она это делает нельзя. Таблица огромна, но интересующие поля выглядят образно так. |id |status| +---------+ |1234|7349 | |1234|blabla | |1234|blabla | |1234|Finish | |1735|9874 | |1735|blabla | |1735|failure | Задача стоит найти все статусы failure и возвращать их начальный статус (В даннос млучае - 9874), зная что процесс идет под одним и тем же id. Можно ли как то это сделать одним запросом, или же средствами пхп делать миллиард запросов по каждому id? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 12:04:13 |
|
||
|
Выборка строки по данным из другой строки.
|
|||
|---|---|---|---|
|
#18+
ViseNupper|1735|9874 | |1735|blabla | |1735|failure |а кроме порядка выдачи на экран есть какой-нибудь критерий сортировки? ид записи, таймштамп там или ещё что такое... и вообще, читайте FAQ: Выборка первой/последней записи в группах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 12:07:48 |
|
||
|
Выборка строки по данным из другой строки.
|
|||
|---|---|---|---|
|
#18+
В том и проблема зацепится в таблице толком больше не за что, интервал между сбоем и стартом процесса может быть разным в зависимости от того что пошло не так. все что связывает это поле ид. ФАК уже изучаю, но пока из того что понял это не совсем то что нужно. (Может я и не прав) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 12:17:05 |
|
||
|
Выборка строки по данным из другой строки.
|
|||
|---|---|---|---|
|
#18+
ViseNupper, хмм... ну а стартовые записи как-то от остальных отличаются? например, они одни состоят только из цифр, или они одни имеют длину в 4 символа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 12:24:47 |
|
||
|
Выборка строки по данным из другой строки.
|
|||
|---|---|---|---|
|
#18+
tanglir, Если так подумать, то они только цифровые всегда, длинна может варьироваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 12:28:13 |
|
||
|
Выборка строки по данным из другой строки.
|
|||
|---|---|---|---|
|
#18+
Простите, как выяснилось ввел в заблуждение изначально таблица выглядит несколько иначе она все таки из трех полей не сразу это понял... |id |status|data| +---------+ |1234|Start |7349| |1234|blabla |blabla| |1234|blabla |blabla| |1234|Finish |blabla| |1735|Start |9874| |1735|blabla |blabla| |1735|failure |blabla| Свой вопрос решил следующей конструкцией, поправьте теперь насколько это правильное решение. Код: sql 1. Выглядит как лютая некрофилия, знаю, но нужную инфу выдает подскажите можно ли вообще так делать и как это повлияет на производительность при 1000+ записях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 13:56:31 |
|
||
|
Выборка строки по данным из другой строки.
|
|||
|---|---|---|---|
|
#18+
ViseNupperВыглядит как лютая некрофилия Логика выглядит нормально, никакой некрофилии и прочих извращений не наблюдается. Вот её реализация - да, не очень, главным образом из-за того, что состряпана нечитаемая смесь имени и алиаса. ViseNupperкак это повлияет на производительность при 1000+ записях. Никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 15:18:08 |
|
||
|
Выборка строки по данным из другой строки.
|
|||
|---|---|---|---|
|
#18+
Akina, А можно по подробнее, не совсем понял что вы имели в виду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 17:13:42 |
|
||
|
Выборка строки по данным из другой строки.
|
|||
|---|---|---|---|
|
#18+
ViseNupperне совсем понял что вы имели в видуОн имел в виду, что если уж даёте алиасы таблице, так давайте их обеим её инстансам, А то как-то с толку сбивает при прочтении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 18:42:11 |
|
||
|
Выборка строки по данным из другой строки.
|
|||
|---|---|---|---|
|
#18+
Тобишь в целом такая конструкция вполне подойдет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 23:16:01 |
|
||
|
Выборка строки по данным из другой строки.
|
|||
|---|---|---|---|
|
#18+
ViseNupper..Задача стоит найти все статусы failure и возвращать их начальный статус..это поподробнее... вам нужно ДОПИСАТЬ в лог новое состояние Start, удалить failure, или просто найти все id с ошибочными состояниями? какие варианты STATUS имеются? После failure может быть другое рабочее состояние? возвращать их начальный статус - каким образом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2015, 08:08:45 |
|
||
|
Выборка строки по данным из другой строки.
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinovвозвращать их начальный статус - каким образом?ну селектом же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2015, 08:10:27 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39057950&tid=1832698]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 303ms |

| 0 / 0 |
