Refaktoring – Złączenie (concat) po stronie bazy – #21

Ciągle pracuję nad lepszym GUI i przy okazji poprawiam kod. Znajduję miejsca, które niespecjalnie mi się podobają i przerabiam. Dużo pracy przede mną 😉 Na przykład to: skoro już wysyłam zapytanie do bazy, to przydałoby się na tym jak najwięcej ugrać.

Pierwotnie kod, który tworzył listę zakupów wyglądał tak:

https://gist.github.com/jezinka/9fc0c06c8bb6b1a070f7c685ff1051e2

Zwykły select ze zliczaniem ile razy name pojawiło się na liście składników. W podzapytaniu query odpytujące bazę o listę składników do każdego obiadu połączone 'union all’, żeby nie usunęło z wyników powtarzających się składników.

Jak już wypluje te składniki i ich liczbę to trzeba to wrzucić na listę:

https://gist.github.com/jezinka/22827a6ce48d418d33cbbae2eb5c1e60

Weź wartość z pierwszej kolumny, weź z drugiej, połącz to w zgrabnego stringa i wrzuć na listę. Ale ten zgrabny string można stworzyć już po stronie bazy, zawsze to mniej operacji 🙂

https://gist.github.com/jezinka/29d85787dc299e8c9a8dbb48bea645bd

Do złączenia wartości kolumn ze stringiem użyłam operatora ||. Dzięki tej operacji baza daje mi od razu to czego potrzebuję bez zabaw po stronie Javy. Więc potem wystarczy już tylko tyle:

https://gist.github.com/jezinka/838e044fd96c269276868602dc2349f7

a lista wygląda tak samo w jednym i drugim przypadku:

wp-1496905412973.

Pod spodem już wychyla się nowe GUI, ale jeszcze dużo przed nim 😉

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.