Commit 0b956a2e authored by Alexandre Delanoë's avatar Alexandre Delanoë

[FIX] group result of SQL result.

parent 6fcad8ff
...@@ -34,6 +34,8 @@ import Database.PostgreSQL.Simple.ToField (toField) ...@@ -34,6 +34,8 @@ import Database.PostgreSQL.Simple.ToField (toField)
import Database.PostgreSQL.Simple.ToRow (toRow) import Database.PostgreSQL.Simple.ToRow (toRow)
import Database.PostgreSQL.Simple.Types (Values(..), QualifiedIdentifier(..)) import Database.PostgreSQL.Simple.Types (Values(..), QualifiedIdentifier(..))
import GHC.Generics (Generic) import GHC.Generics (Generic)
import Gargantext.Database.Config (nodeTypeId)
import Gargantext.Database.Types.Node (NodeType)
import Gargantext.Database.Node (mkCmd, Cmd(..)) import Gargantext.Database.Node (mkCmd, Cmd(..))
import Gargantext.Prelude import Gargantext.Prelude
import qualified Database.PostgreSQL.Simple as DPS import qualified Database.PostgreSQL.Simple as DPS
...@@ -176,10 +178,8 @@ queryInsertNgrams = [sql| ...@@ -176,10 +178,8 @@ queryInsertNgrams = [sql|
-- | Ngrams Table -- | Ngrams Table
data NgramsTableParam = data NgramsTableParam =
NgramsTableParam { _nt_listId :: Int NgramsTableParam { _nt_listId :: Int
, _nt_corpusId :: Int , _nt_corpusId :: Int
, _nt_typeNode :: Int
, _nt_typeNgrams :: Int
} }
type NgramsTableParamUser = NgramsTableParam type NgramsTableParamUser = NgramsTableParam
...@@ -191,9 +191,13 @@ data NgramsTableData = NgramsTableData { _ntd_terms :: Text ...@@ -191,9 +191,13 @@ data NgramsTableData = NgramsTableData { _ntd_terms :: Text
, _ntd_weight :: Double , _ntd_weight :: Double
} deriving (Show) } deriving (Show)
getTableNgrams :: NgramsTableParamUser -> NgramsTableParamMaster -> Cmd [(Text, Int, Int, Double)] getTableNgrams :: NodeType -> NgramsType -> NgramsTableParamUser -> NgramsTableParamMaster -> Cmd [(Text, Int, Int, Double)]
getTableNgrams (NgramsTableParam ul uc utn utg) (NgramsTableParam ml mc mtn mtg) = getTableNgrams nodeT ngrmT (NgramsTableParam ul uc) (NgramsTableParam ml mc) =
mkCmd $ \conn -> DPS.query conn querySelectTableNgrams (ul,uc,utn,utg,ml,mc,mtn,mtg) mkCmd $ \conn -> DPS.query conn querySelectTableNgrams (ul,uc,nodeTId,ngrmTId,ml,mc,nodeTId,ngrmTId)
where
nodeTId = nodeTypeId nodeT
ngrmTId = ngramsTypeId ngrmT
querySelectTableNgrams :: DPS.Query querySelectTableNgrams :: DPS.Query
...@@ -220,8 +224,9 @@ querySelectTableNgrams = [sql| ...@@ -220,8 +224,9 @@ querySelectTableNgrams = [sql|
SELECT COALESCE(tu.terms,tm.terms) AS terms SELECT COALESCE(tu.terms,tm.terms) AS terms
, COALESCE(tu.n,tm.n) AS n , COALESCE(tu.n,tm.n) AS n
, COALESCE(tu.ngrams_type,tm.ngrams_type) AS ngrams_type , COALESCE(tu.ngrams_type,tm.ngrams_type) AS ngrams_type
, COALESCE(tu.weight,tm.weight) AS weight , SUM(COALESCE(tu.weight,tm.weight)) AS weight
FROM tableUser tu RIGHT JOIN tableMaster tm ON tu.terms = tm.terms; FROM tableUser tu RIGHT JOIN tableMaster tm ON tu.terms = tm.terms
GROUP BY tu.terms,tm.terms,tu.n,tm.n,tu.ngrams_type,tm.ngrams_type;
|] |]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment