Varias fuentes de datos en la interfaz: "SQL" del lado del cliente

A veces, en la interfaz de nuestras aplicaciones VLSI , se hace  necesario "agrupar" algunas de las entradas  en una determinada lista (por ejemplo, mensajes de servicio en el chat, contactos y llamadas telefónicas).





Es bueno si todos estos registros provienen de una fuente, pero si provienen  de diferentes servicios y con la navegación del cursor  , el algoritmo de implementación se vuelve muy no trivial.





A propósito, no daré la implementación "en código" aquí, pero describiré un enfoque exclusivamente algorítmico de la solución, de modo que, si es necesario, pueda escalarlo usted mismo a sus tareas. Entonces...





Formulación del problema

Contamos con dos servicios. Podría ser más, pero siguiendo la imagen anterior, dejemos, en aras de la claridad, ser los servicios de  Llamadas y Contactos .





Gracias a los compañeros de CRM por una tarea interesante. Mientras tanto, no hay necesidad de preocuparse por eso ".





    ,  ""   .





  ""  - , - , .





Agrupar varias llamadas en una sola entrada

, , , , :





  • PostgreSQL Antipatterns: JOIN





  • PostgreSQL Antipatterns:





  • SQL HowTo: while- , « »





#1: " "

,   -, - ,   . -   .





" " , . "",   ?





#2: " "

, ?..   (20 ) ,     "" , - .





, ( ) "" - ?   , .





,    ( ), .   , "".





#1: " "

, ,    - - ( 20), - .





   , - (merge ordered) (limit) "" .





, , "" 15 20 . 5 , " " -   .





#3: "One Ring to rule them all"

? ,    - , .     - , .





, " - , "   - , .





#4: " server-side"

-   , . , ,   .





 stateless server-side , , -  . , :





  •   ---





  •     , ""





  •   --





#2: " client-side"

, -,   ?.. .





 , " "   (, , localStorage), .





- :





  • 20 20





  • "" 5





  • 5 "" + 15





  • 5





  • 20 - ? ! ( 20, "" )





  • " ", 25 20





Edge Cases

, -  "" " ", "" .





,   , : ", , , , !"








All Articles