интересн проблем с sql заявка
3 отговора
330 прегледа
интересн проблем с sql заявка
Имам една проста табличка, да речем с три колони id и data и dummy. Например:
id,data,dummy
1 3 sdfsdf
2 4 sdfd
3 3 aad
4 5 d
5 3 a123
6 4 d
Всичко беше наред докато не ми се наложи да я допълня с четвърта (информационна) колонка, която показва колко общо са записите със същата стойност на колонката data, т.е:
id,data,dummy,repeated
1 3 sdfsdf 3
2 4 sdfd 2
3 3 aad 3
4 5 d 1
5 3 a123 3
6 4 d 2
Е, помислих малко и стигна до 'гениалната' идея:
select n1.*, count(n2.data) from tbl n1, tbl n2 where n1.id=n2.id group by n2.data
Гениално, обаче не върши работа по простата причина, че вместо желания резултат връща
id,data,dummy,repeated
1 3 sdfsdf 3
2 4 sdfd 2
4 5 d 1
Разбира се след слекунди видях и причината, но нещо в момента не ми идва идея как да го преодолея (не искам вложени заявки; базата е Mysql).. както се казва - any ideas
id,data,dummy
1 3 sdfsdf
2 4 sdfd
3 3 aad
4 5 d
5 3 a123
6 4 d
Всичко беше наред докато не ми се наложи да я допълня с четвърта (информационна) колонка, която показва колко общо са записите със същата стойност на колонката data, т.е:
id,data,dummy,repeated
1 3 sdfsdf 3
2 4 sdfd 2
3 3 aad 3
4 5 d 1
5 3 a123 3
6 4 d 2
Е, помислих малко и стигна до 'гениалната' идея:
select n1.*, count(n2.data) from tbl n1, tbl n2 where n1.id=n2.id group by n2.data
Гениално, обаче не върши работа по простата причина, че вместо желания резултат връща
id,data,dummy,repeated
1 3 sdfsdf 3
2 4 sdfd 2
4 5 d 1
Разбира се след слекунди видях и причината, но нещо в момента не ми идва идея как да го преодолея (не искам вложени заявки; базата е Mysql).. както се казва - any ideas
Re: интересн проблем с sql заявка
Iskam samo da ti kaja 4e tova
select *,count(datta) from tbl
group by datta
Dava absoliutno sushtiq rezultat kato tova koeto ti predlagash!
A za tova koeto pitash ne se seshtam.
A i ne razbrah pishesh 4e ti trqbva novo pole? Trqbva li taq poslednata kolonka da q dobavish v tablicata kato novo pole ili ti trqbva samo v zaqvka da go izchislish ??

select *,count(datta) from tbl
group by datta
Dava absoliutno sushtiq rezultat kato tova koeto ti predlagash!
A za tova koeto pitash ne se seshtam.
A i ne razbrah pishesh 4e ti trqbva novo pole? Trqbva li taq poslednata kolonka da q dobavish v tablicata kato novo pole ili ti trqbva samo v zaqvka da go izchislish ??
Re: интересн проблем с sql заявка
Съгласен съм, че и заявката която предлагаш върши същата работа... т.е както и моята не ми помага:))
А иначе не ми трябва да я добавям към таблицата, а просто да я извлека..
Както и да е, май без вложена заявка не минава номера
А иначе не ми трябва да я добавям към таблицата, а просто да я извлека..
Както и да е, май без вложена заявка не минава номера
Re: интересн проблем с sql заявка
Ами според мен няма да стане без вложени заявки
А защо не искаш да използваш вложени заявки всъщност ?

А защо не искаш да използваш вложени заявки всъщност ?