mirror of https://github.com/acanas/swad-core.git
Version 20.44.1: Mar 05, 2021 Surveys database table renamed.
This commit is contained in:
parent
82467a3d67
commit
539d1037ee
34
sql/swad.sql
34
sql/swad.sql
|
@ -1368,23 +1368,6 @@ CREATE TABLE IF NOT EXISTS sta_notif (
|
|||
NumMails INT NOT NULL,
|
||||
UNIQUE INDEX(DegCod,CrsCod,NotifyEvent));
|
||||
--
|
||||
-- Table surveys: stores the surveys
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS surveys (
|
||||
SvyCod INT NOT NULL AUTO_INCREMENT,
|
||||
Scope ENUM('Sys','Cty','Ins','Ctr','Deg','Crs') NOT NULL DEFAULT 'Sys',
|
||||
Cod INT NOT NULL DEFAULT -1,
|
||||
Hidden ENUM('N','Y') NOT NULL DEFAULT 'N',
|
||||
NumNotif INT NOT NULL DEFAULT 0,
|
||||
Roles INT NOT NULL DEFAULT 0,
|
||||
UsrCod INT NOT NULL,
|
||||
StartTime DATETIME NOT NULL,
|
||||
EndTime DATETIME NOT NULL,
|
||||
Title VARCHAR(2047) NOT NULL,
|
||||
Txt TEXT NOT NULL,
|
||||
UNIQUE INDEX(SvyCod),
|
||||
INDEX(Scope,Cod));
|
||||
--
|
||||
-- Table svy_answers: stores the answers to the surveys
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS svy_answers (
|
||||
|
@ -1412,6 +1395,23 @@ CREATE TABLE IF NOT EXISTS svy_questions (
|
|||
UNIQUE INDEX(QstCod),
|
||||
INDEX(SvyCod));
|
||||
--
|
||||
-- Table svy_surveys: stores the surveys
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS svy_surveys (
|
||||
SvyCod INT NOT NULL AUTO_INCREMENT,
|
||||
Scope ENUM('Sys','Cty','Ins','Ctr','Deg','Crs') NOT NULL DEFAULT 'Sys',
|
||||
Cod INT NOT NULL DEFAULT -1,
|
||||
Hidden ENUM('N','Y') NOT NULL DEFAULT 'N',
|
||||
NumNotif INT NOT NULL DEFAULT 0,
|
||||
Roles INT NOT NULL DEFAULT 0,
|
||||
UsrCod INT NOT NULL,
|
||||
StartTime DATETIME NOT NULL,
|
||||
EndTime DATETIME NOT NULL,
|
||||
Title VARCHAR(2047) NOT NULL,
|
||||
Txt TEXT NOT NULL,
|
||||
UNIQUE INDEX(SvyCod),
|
||||
INDEX(Scope,Cod));
|
||||
--
|
||||
-- Table svy_users: stores the users who have answer the surveys
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS svy_users (
|
||||
|
|
|
@ -600,10 +600,14 @@ TODO: Salvador Romero Cort
|
|||
|
||||
TODO: FIX BUG, URGENT! En las fechas como parámetro Dat_WriteParamsIniEndDates(), por ejemplo al cambiar el color de la gráfica de accesos por día y hora, no se respeta la zona horaria.
|
||||
*/
|
||||
#define Log_PLATFORM_VERSION "SWAD 20.44 (2021-03-04)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 20.44.1 (2021-03-05)"
|
||||
#define CSS_FILE "swad20.33.9.css"
|
||||
#define JS_FILE "swad20.6.2.js"
|
||||
/*
|
||||
Version 20.44.1: Mar 05, 2021 Surveys database table renamed. (305623 lines)
|
||||
1 change necessary in database:
|
||||
RENAME TABLE surveys TO svy_surveys;
|
||||
|
||||
Version 20.44: Mar 04, 2021 Timeline database tables renamed. (305618 lines)
|
||||
7 change necessary in database:
|
||||
RENAME TABLE tl_comments TO tml_comments;
|
||||
|
|
|
@ -2878,43 +2878,6 @@ mysql> DESCRIBE sta_notif;
|
|||
"NumMails INT NOT NULL,"
|
||||
"UNIQUE INDEX(DegCod,CrsCod,NotifyEvent))");
|
||||
|
||||
/***** Table surveys *****/
|
||||
/*
|
||||
mysql> DESCRIBE surveys;
|
||||
+-----------+-------------------------------------------+------+-----+---------+----------------+
|
||||
| Field | Type | Null | Key | Default | Extra |
|
||||
+-----------+-------------------------------------------+------+-----+---------+----------------+
|
||||
| SvyCod | int(11) | NO | PRI | NULL | auto_increment |
|
||||
| Scope | enum('Sys','Cty','Ins','Ctr','Deg','Crs') | NO | MUL | Sys | |
|
||||
| Cod | int(11) | NO | | -1 | |
|
||||
| DegCod | int(11) | NO | | -1 | |
|
||||
| CrsCod | int(11) | NO | | -1 | |
|
||||
| Hidden | enum('N','Y') | NO | | N | |
|
||||
| NumNotif | int(11) | NO | | 0 | |
|
||||
| Roles | int(11) | NO | | 0 | |
|
||||
| UsrCod | int(11) | NO | | NULL | |
|
||||
| StartTime | datetime | NO | | NULL | |
|
||||
| EndTime | datetime | NO | | NULL | |
|
||||
| Title | varchar(2047) | NO | | NULL | |
|
||||
| Txt | text | NO | | NULL | |
|
||||
+-----------+-------------------------------------------+------+-----+---------+----------------+
|
||||
13 rows in set (0,00 sec)
|
||||
*/
|
||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS surveys ("
|
||||
"SvyCod INT NOT NULL AUTO_INCREMENT,"
|
||||
"Scope ENUM('Sys','Cty','Ins','Ctr','Deg','Crs') NOT NULL DEFAULT 'Sys',"
|
||||
"Cod INT NOT NULL DEFAULT -1,"
|
||||
"Hidden ENUM('N','Y') NOT NULL DEFAULT 'N',"
|
||||
"NumNotif INT NOT NULL DEFAULT 0,"
|
||||
"Roles INT NOT NULL DEFAULT 0,"
|
||||
"UsrCod INT NOT NULL,"
|
||||
"StartTime DATETIME NOT NULL,"
|
||||
"EndTime DATETIME NOT NULL,"
|
||||
"Title VARCHAR(2047) NOT NULL," // Svy_MAX_BYTES_SURVEY_TITLE
|
||||
"Txt TEXT NOT NULL," // Cns_MAX_BYTES_TEXT
|
||||
"UNIQUE INDEX(SvyCod),"
|
||||
"INDEX(Scope,Cod))");
|
||||
|
||||
/***** Table svy_answers *****/
|
||||
/*
|
||||
mysql> DESCRIBE svy_answers;
|
||||
|
@ -2974,6 +2937,43 @@ mysql> DESCRIBE svy_questions;
|
|||
"UNIQUE INDEX(QstCod),"
|
||||
"INDEX(SvyCod))");
|
||||
|
||||
/***** Table svy_surveys *****/
|
||||
/*
|
||||
mysql> DESCRIBE svy_surveys;
|
||||
+-----------+-------------------------------------------+------+-----+---------+----------------+
|
||||
| Field | Type | Null | Key | Default | Extra |
|
||||
+-----------+-------------------------------------------+------+-----+---------+----------------+
|
||||
| SvyCod | int(11) | NO | PRI | NULL | auto_increment |
|
||||
| Scope | enum('Sys','Cty','Ins','Ctr','Deg','Crs') | NO | MUL | Sys | |
|
||||
| Cod | int(11) | NO | | -1 | |
|
||||
| DegCod | int(11) | NO | | -1 | |
|
||||
| CrsCod | int(11) | NO | | -1 | |
|
||||
| Hidden | enum('N','Y') | NO | | N | |
|
||||
| NumNotif | int(11) | NO | | 0 | |
|
||||
| Roles | int(11) | NO | | 0 | |
|
||||
| UsrCod | int(11) | NO | | NULL | |
|
||||
| StartTime | datetime | NO | | NULL | |
|
||||
| EndTime | datetime | NO | | NULL | |
|
||||
| Title | varchar(2047) | NO | | NULL | |
|
||||
| Txt | text | NO | | NULL | |
|
||||
+-----------+-------------------------------------------+------+-----+---------+----------------+
|
||||
13 rows in set (0,00 sec)
|
||||
*/
|
||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS svy_surveys ("
|
||||
"SvyCod INT NOT NULL AUTO_INCREMENT,"
|
||||
"Scope ENUM('Sys','Cty','Ins','Ctr','Deg','Crs') NOT NULL DEFAULT 'Sys',"
|
||||
"Cod INT NOT NULL DEFAULT -1,"
|
||||
"Hidden ENUM('N','Y') NOT NULL DEFAULT 'N',"
|
||||
"NumNotif INT NOT NULL DEFAULT 0,"
|
||||
"Roles INT NOT NULL DEFAULT 0,"
|
||||
"UsrCod INT NOT NULL,"
|
||||
"StartTime DATETIME NOT NULL,"
|
||||
"EndTime DATETIME NOT NULL,"
|
||||
"Title VARCHAR(2047) NOT NULL," // Svy_MAX_BYTES_SURVEY_TITLE
|
||||
"Txt TEXT NOT NULL," // Cns_MAX_BYTES_TEXT
|
||||
"UNIQUE INDEX(SvyCod),"
|
||||
"INDEX(Scope,Cod))");
|
||||
|
||||
/***** Table svy_users *****/
|
||||
/*
|
||||
mysql> DESCRIBE svy_users;
|
||||
|
|
|
@ -1353,23 +1353,25 @@ unsigned Ntf_StoreNotifyEventsToAllUsrs (Ntf_NotifyEvent_t NotifyEvent,long Cod)
|
|||
NumRows = DB_QuerySELECT (&mysql_res,"can not get users"
|
||||
" to be notified",
|
||||
"(SELECT crs_usr.UsrCod"
|
||||
" FROM surveys,crs_usr"
|
||||
" WHERE surveys.SvyCod=%ld"
|
||||
" AND surveys.SvyCod NOT IN"
|
||||
" FROM svy_surveys,crs_usr"
|
||||
" WHERE svy_surveys.SvyCod=%ld"
|
||||
" AND svy_surveys.SvyCod NOT IN"
|
||||
" (SELECT SvyCod FROM svy_grp WHERE SvyCod=%ld)"
|
||||
" AND surveys.Scope='%s' AND surveys.Cod=crs_usr.CrsCod"
|
||||
" AND svy_surveys.Scope='%s'"
|
||||
" AND svy_surveys.Cod=crs_usr.CrsCod"
|
||||
" AND crs_usr.UsrCod<>%ld"
|
||||
" AND (surveys.Roles&(1<<crs_usr.Role))<>0)"
|
||||
" AND (svy_surveys.Roles&(1<<crs_usr.Role))<>0)"
|
||||
" UNION "
|
||||
"(SELECT DISTINCT crs_grp_usr.UsrCod"
|
||||
" FROM svy_grp,crs_grp_usr,surveys,crs_usr"
|
||||
" FROM svy_grp,crs_grp_usr,svy_surveys,crs_usr"
|
||||
" WHERE svy_grp.SvyCod=%ld"
|
||||
" AND svy_grp.GrpCod=crs_grp_usr.GrpCod"
|
||||
" AND crs_grp_usr.UsrCod=crs_usr.UsrCod"
|
||||
" AND crs_grp_usr.UsrCod<>%ld"
|
||||
" AND svy_grp.SvyCod=surveys.SvyCod"
|
||||
" AND surveys.Scope='%s' AND surveys.Cod=crs_usr.CrsCod"
|
||||
" AND (surveys.Roles&(1<<crs_usr.Role))<>0)",
|
||||
" AND svy_grp.SvyCod=svy_surveys.SvyCod"
|
||||
" AND svy_surveys.Scope='%s'"
|
||||
" AND svy_surveys.Cod=crs_usr.CrsCod"
|
||||
" AND (svy_surveys.Roles&(1<<crs_usr.Role))<>0)",
|
||||
Cod,
|
||||
Cod,
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS),
|
||||
|
|
168
swad_survey.c
168
swad_survey.c
|
@ -1028,7 +1028,7 @@ static void Svy_GetListSurveys (struct Svy_Surveys *Surveys)
|
|||
/* Make query */
|
||||
if (SubQueryFilled)
|
||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get surveys",
|
||||
"SELECT SvyCod FROM surveys"
|
||||
"SELECT SvyCod FROM svy_surveys"
|
||||
" WHERE %s%s%s%s%s%s"
|
||||
" ORDER BY %s",
|
||||
SubQuery[Hie_Lvl_SYS],
|
||||
|
@ -1263,7 +1263,7 @@ void Svy_GetDataOfSurveyByCod (struct Svy_Survey *Svy)
|
|||
"UNIX_TIMESTAMP(EndTime),"
|
||||
"NOW() BETWEEN StartTime AND EndTime,"
|
||||
"Title"
|
||||
" FROM surveys"
|
||||
" FROM svy_surveys"
|
||||
" WHERE SvyCod=%ld",
|
||||
Svy->SvyCod);
|
||||
|
||||
|
@ -1485,7 +1485,7 @@ static void Svy_GetSurveyTxtFromDB (long SvyCod,char Txt[Cns_MAX_BYTES_TEXT + 1]
|
|||
|
||||
/***** Get text of survey from database *****/
|
||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get survey text",
|
||||
"SELECT Txt FROM surveys WHERE SvyCod=%ld",
|
||||
"SELECT Txt FROM svy_surveys WHERE SvyCod=%ld",
|
||||
SvyCod);
|
||||
|
||||
/***** The result of the query must have one row or none *****/
|
||||
|
@ -1523,7 +1523,7 @@ void Svy_GetNotifSurvey (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
|
|||
if (DB_QuerySELECT (&mysql_res,"can not get groups of a survey",
|
||||
"SELECT Title," // row[0]
|
||||
"Txt" // row[1]
|
||||
" FROM surveys"
|
||||
" FROM svy_surveys"
|
||||
" WHERE SvyCod=%ld",
|
||||
SvyCod) == 1)
|
||||
{
|
||||
|
@ -1656,7 +1656,7 @@ void Svy_RemoveSurvey (void)
|
|||
|
||||
/***** Remove survey *****/
|
||||
DB_QueryDELETE ("can not remove survey",
|
||||
"DELETE FROM surveys WHERE SvyCod=%ld",
|
||||
"DELETE FROM svy_surveys WHERE SvyCod=%ld",
|
||||
Svy.SvyCod);
|
||||
|
||||
/***** Mark possible notifications as removed *****/
|
||||
|
@ -1798,7 +1798,7 @@ void Svy_HideSurvey (void)
|
|||
|
||||
/***** Hide survey *****/
|
||||
DB_QueryUPDATE ("can not hide survey",
|
||||
"UPDATE surveys SET Hidden='Y' WHERE SvyCod=%ld",
|
||||
"UPDATE svy_surveys SET Hidden='Y' WHERE SvyCod=%ld",
|
||||
Svy.SvyCod);
|
||||
|
||||
/***** Show surveys again *****/
|
||||
|
@ -1833,7 +1833,7 @@ void Svy_UnhideSurvey (void)
|
|||
|
||||
/***** Show survey *****/
|
||||
DB_QueryUPDATE ("can not show survey",
|
||||
"UPDATE surveys SET Hidden='N' WHERE SvyCod=%ld",
|
||||
"UPDATE svy_surveys SET Hidden='N' WHERE SvyCod=%ld",
|
||||
Svy.SvyCod);
|
||||
|
||||
/***** Show surveys again *****/
|
||||
|
@ -1848,7 +1848,7 @@ static bool Svy_CheckIfSimilarSurveyExists (struct Svy_Survey *Svy)
|
|||
{
|
||||
/***** Get number of surveys with a field value from database *****/
|
||||
return (DB_QueryCOUNT ("can not get similar surveys",
|
||||
"SELECT COUNT(*) FROM surveys"
|
||||
"SELECT COUNT(*) FROM svy_surveys"
|
||||
" WHERE Scope='%s' AND Cod=%ld"
|
||||
" AND Title='%s' AND SvyCod<>%ld",
|
||||
Sco_GetDBStrFromScope (Svy->Scope),Svy->Cod,
|
||||
|
@ -2337,7 +2337,7 @@ static void Svy_UpdateNumUsrsNotifiedByEMailAboutSurvey (long SvyCod,
|
|||
{
|
||||
/***** Update number of users notified *****/
|
||||
DB_QueryUPDATE ("can not update the number of notifications of a survey",
|
||||
"UPDATE surveys SET NumNotif=NumNotif+%u"
|
||||
"UPDATE svy_surveys SET NumNotif=NumNotif+%u"
|
||||
" WHERE SvyCod=%ld",
|
||||
NumUsrsToBeNotifiedByEMail,SvyCod);
|
||||
}
|
||||
|
@ -2353,7 +2353,7 @@ static void Svy_CreateSurvey (struct Svy_Survey *Svy,const char *Txt)
|
|||
/***** Create a new survey *****/
|
||||
Svy->SvyCod =
|
||||
DB_QueryINSERTandReturnCode ("can not create new survey",
|
||||
"INSERT INTO surveys"
|
||||
"INSERT INTO svy_surveys"
|
||||
" (Scope,Cod,Hidden,Roles,UsrCod,StartTime,EndTime,Title,Txt)"
|
||||
" VALUES"
|
||||
" ('%s',%ld,'N',%u,%ld,"
|
||||
|
@ -2386,7 +2386,7 @@ static void Svy_UpdateSurvey (struct Svy_Survey *Svy,const char *Txt)
|
|||
|
||||
/***** Update the data of the survey *****/
|
||||
DB_QueryUPDATE ("can not update survey",
|
||||
"UPDATE surveys"
|
||||
"UPDATE svy_surveys"
|
||||
" SET Scope='%s',Cod=%ld,Roles=%u,"
|
||||
"StartTime=FROM_UNIXTIME(%ld),"
|
||||
"EndTime=FROM_UNIXTIME(%ld),"
|
||||
|
@ -2549,18 +2549,18 @@ void Svy_RemoveSurveys (Hie_Lvl_Level_t Scope,long Cod)
|
|||
DB_QueryDELETE ("can not remove users"
|
||||
" who had answered surveys in a place on the hierarchy",
|
||||
"DELETE FROM svy_users"
|
||||
" USING surveys,svy_users"
|
||||
" WHERE surveys.Scope='%s' AND surveys.Cod=%ld"
|
||||
" AND surveys.SvyCod=svy_users.SvyCod",
|
||||
" USING svy_surveys,svy_users"
|
||||
" WHERE svy_surveys.Scope='%s' AND svy_surveys.Cod=%ld"
|
||||
" AND svy_surveys.SvyCod=svy_users.SvyCod",
|
||||
Sco_GetDBStrFromScope (Scope),Cod);
|
||||
|
||||
/***** Remove all the answers in course surveys *****/
|
||||
DB_QueryDELETE ("can not remove answers of surveys"
|
||||
" in a place on the hierarchy",
|
||||
"DELETE FROM svy_answers"
|
||||
" USING surveys,svy_questions,svy_answers"
|
||||
" WHERE surveys.Scope='%s' AND surveys.Cod=%ld"
|
||||
" AND surveys.SvyCod=svy_questions.SvyCod"
|
||||
" USING svy_surveys,svy_questions,svy_answers"
|
||||
" WHERE svy_surveys.Scope='%s' AND svy_surveys.Cod=%ld"
|
||||
" AND svy_surveys.SvyCod=svy_questions.SvyCod"
|
||||
" AND svy_questions.QstCod=svy_answers.QstCod",
|
||||
Sco_GetDBStrFromScope (Scope),Cod);
|
||||
|
||||
|
@ -2568,24 +2568,24 @@ void Svy_RemoveSurveys (Hie_Lvl_Level_t Scope,long Cod)
|
|||
DB_QueryDELETE ("can not remove questions of surveys"
|
||||
" in a place on the hierarchy",
|
||||
"DELETE FROM svy_questions"
|
||||
" USING surveys,svy_questions"
|
||||
" WHERE surveys.Scope='%s' AND surveys.Cod=%ld"
|
||||
" AND surveys.SvyCod=svy_questions.SvyCod",
|
||||
" USING svy_surveys,svy_questions"
|
||||
" WHERE svy_surveys.Scope='%s' AND svy_surveys.Cod=%ld"
|
||||
" AND svy_surveys.SvyCod=svy_questions.SvyCod",
|
||||
Sco_GetDBStrFromScope (Scope),Cod);
|
||||
|
||||
/***** Remove groups *****/
|
||||
DB_QueryDELETE ("can not remove all the groups"
|
||||
" associated to surveys of a course",
|
||||
"DELETE FROM svy_grp"
|
||||
" USING surveys,svy_grp"
|
||||
" WHERE surveys.Scope='%s' AND surveys.Cod=%ld"
|
||||
" AND surveys.SvyCod=svy_grp.SvyCod",
|
||||
" USING svy_surveys,svy_grp"
|
||||
" WHERE svy_surveys.Scope='%s' AND svy_surveys.Cod=%ld"
|
||||
" AND svy_surveys.SvyCod=svy_grp.SvyCod",
|
||||
Sco_GetDBStrFromScope (Scope),Cod);
|
||||
|
||||
/***** Remove course surveys *****/
|
||||
DB_QueryDELETE ("can not remove all the surveys"
|
||||
" in a place on the hierarchy",
|
||||
"DELETE FROM surveys"
|
||||
"DELETE FROM svy_surveys"
|
||||
" WHERE Scope='%s' AND Cod=%ld",
|
||||
Sco_GetDBStrFromScope (Scope),Cod);
|
||||
}
|
||||
|
@ -2598,7 +2598,7 @@ static bool Svy_CheckIfICanDoThisSurveyBasedOnGrps (long SvyCod)
|
|||
{
|
||||
/***** Get if I can do a survey from database *****/
|
||||
return (DB_QueryCOUNT ("can not check if I can do a survey",
|
||||
"SELECT COUNT(*) FROM surveys"
|
||||
"SELECT COUNT(*) FROM svy_surveys"
|
||||
" WHERE SvyCod=%ld"
|
||||
" AND (SvyCod NOT IN (SELECT SvyCod FROM svy_grp) OR"
|
||||
" SvyCod IN (SELECT svy_grp.SvyCod FROM svy_grp,crs_grp_usr"
|
||||
|
@ -3888,57 +3888,57 @@ unsigned Svy_GetNumCoursesWithCrsSurveys (Hie_Lvl_Level_t Scope)
|
|||
DB_QuerySELECT (&mysql_res,"can not get number of courses"
|
||||
" with surveys",
|
||||
"SELECT COUNT(DISTINCT Cod)"
|
||||
" FROM surveys"
|
||||
" FROM svy_surveys"
|
||||
" WHERE Scope='%s'",
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS));
|
||||
break;
|
||||
case Hie_Lvl_CTY:
|
||||
DB_QuerySELECT (&mysql_res,"can not get number of courses"
|
||||
" with surveys",
|
||||
"SELECT COUNT(DISTINCT surveys.Cod)"
|
||||
" FROM institutions,centres,degrees,courses,surveys"
|
||||
"SELECT COUNT(DISTINCT svy_surveys.Cod)"
|
||||
" FROM institutions,centres,degrees,courses,svy_surveys"
|
||||
" WHERE institutions.CtyCod=%ld"
|
||||
" AND institutions.InsCod=centres.InsCod"
|
||||
" AND centres.CtrCod=degrees.CtrCod"
|
||||
" AND degrees.DegCod=courses.DegCod"
|
||||
" AND courses.CrsCod=surveys.Cod"
|
||||
" AND surveys.Scope='%s'",
|
||||
" AND courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'",
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS));
|
||||
break;
|
||||
case Hie_Lvl_INS:
|
||||
DB_QuerySELECT (&mysql_res,"can not get number of courses"
|
||||
" with surveys",
|
||||
"SELECT COUNT(DISTINCT surveys.Cod)"
|
||||
" FROM centres,degrees,courses,surveys"
|
||||
"SELECT COUNT(DISTINCT svy_surveys.Cod)"
|
||||
" FROM centres,degrees,courses,svy_surveys"
|
||||
" WHERE centres.InsCod=%ld"
|
||||
" AND centres.CtrCod=degrees.CtrCod"
|
||||
" AND degrees.DegCod=courses.DegCod"
|
||||
" AND courses.CrsCod=surveys.Cod"
|
||||
" AND surveys.Scope='%s'",
|
||||
" AND courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'",
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS));
|
||||
break;
|
||||
case Hie_Lvl_CTR:
|
||||
DB_QuerySELECT (&mysql_res,"can not get number of courses"
|
||||
" with surveys",
|
||||
"SELECT COUNT(DISTINCT surveys.Cod)"
|
||||
" FROM degrees,courses,surveys"
|
||||
"SELECT COUNT(DISTINCT svy_surveys.Cod)"
|
||||
" FROM degrees,courses,svy_surveys"
|
||||
" WHERE degrees.CtrCod=%ld"
|
||||
" AND degrees.DegCod=courses.DegCod"
|
||||
" AND courses.CrsCod=surveys.Cod"
|
||||
" AND surveys.Scope='%s'",
|
||||
" AND courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'",
|
||||
Gbl.Hierarchy.Ctr.CtrCod,
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS));
|
||||
break;
|
||||
case Hie_Lvl_DEG:
|
||||
DB_QuerySELECT (&mysql_res,"can not get number of courses"
|
||||
" with surveys",
|
||||
"SELECT COUNT(DISTINCT surveys.Cod)"
|
||||
" FROM courses,surveys"
|
||||
"SELECT COUNT(DISTINCT svy_surveys.Cod)"
|
||||
" FROM courses,svy_surveys"
|
||||
" WHERE courses.DegCod=%ld"
|
||||
" AND courses.CrsCod=surveys.Cod"
|
||||
" AND surveys.Scope='%s'",
|
||||
" AND courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'",
|
||||
Gbl.Hierarchy.Deg.DegCod,
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS));
|
||||
break;
|
||||
|
@ -3946,7 +3946,7 @@ unsigned Svy_GetNumCoursesWithCrsSurveys (Hie_Lvl_Level_t Scope)
|
|||
DB_QuerySELECT (&mysql_res,"can not get number of courses"
|
||||
" with surveys",
|
||||
"SELECT COUNT(DISTINCT Cod)"
|
||||
" FROM surveys"
|
||||
" FROM svy_surveys"
|
||||
" WHERE Scope='%s' AND Cod=%ld",
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS),
|
||||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
|
@ -3985,61 +3985,61 @@ unsigned Svy_GetNumCrsSurveys (Hie_Lvl_Level_t Scope,unsigned *NumNotif)
|
|||
case Hie_Lvl_SYS:
|
||||
DB_QuerySELECT (&mysql_res,"can not get number of surveys",
|
||||
"SELECT COUNT(*),SUM(NumNotif)"
|
||||
" FROM surveys"
|
||||
" FROM svy_surveys"
|
||||
" WHERE Scope='%s'",
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS));
|
||||
break;
|
||||
case Hie_Lvl_CTY:
|
||||
DB_QuerySELECT (&mysql_res,"can not get number of surveys",
|
||||
"SELECT COUNT(*),SUM(surveys.NumNotif)"
|
||||
" FROM institutions,centres,degrees,courses,surveys"
|
||||
"SELECT COUNT(*),SUM(svy_surveys.NumNotif)"
|
||||
" FROM institutions,centres,degrees,courses,svy_surveys"
|
||||
" WHERE institutions.CtyCod=%ld"
|
||||
" AND institutions.InsCod=centres.InsCod"
|
||||
" AND centres.CtrCod=degrees.CtrCod"
|
||||
" AND degrees.DegCod=courses.DegCod"
|
||||
" AND courses.CrsCod=surveys.Cod"
|
||||
" AND surveys.Scope='%s'",
|
||||
" AND courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'",
|
||||
Gbl.Hierarchy.Cty.CtyCod,
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS));
|
||||
break;
|
||||
case Hie_Lvl_INS:
|
||||
DB_QuerySELECT (&mysql_res,"can not get number of surveys",
|
||||
"SELECT COUNT(*),SUM(surveys.NumNotif)"
|
||||
" FROM centres,degrees,courses,surveys"
|
||||
"SELECT COUNT(*),SUM(svy_surveys.NumNotif)"
|
||||
" FROM centres,degrees,courses,svy_surveys"
|
||||
" WHERE centres.InsCod=%ld"
|
||||
" AND centres.CtrCod=degrees.CtrCod"
|
||||
" AND degrees.DegCod=courses.DegCod"
|
||||
" AND courses.CrsCod=surveys.Cod"
|
||||
" AND surveys.Scope='%s'",
|
||||
" AND courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'",
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS));
|
||||
break;
|
||||
case Hie_Lvl_CTR:
|
||||
DB_QuerySELECT (&mysql_res,"can not get number of surveys",
|
||||
"SELECT COUNT(*),SUM(surveys.NumNotif)"
|
||||
" FROM degrees,courses,surveys"
|
||||
"SELECT COUNT(*),SUM(svy_surveys.NumNotif)"
|
||||
" FROM degrees,courses,svy_surveys"
|
||||
" WHERE degrees.CtrCod=%ld"
|
||||
" AND degrees.DegCod=courses.DegCod"
|
||||
" AND courses.CrsCod=surveys.Cod"
|
||||
" AND surveys.Scope='%s'",
|
||||
" AND courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'",
|
||||
Gbl.Hierarchy.Ctr.CtrCod,
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS));
|
||||
break;
|
||||
case Hie_Lvl_DEG:
|
||||
DB_QuerySELECT (&mysql_res,"can not get number of surveys",
|
||||
"SELECT COUNT(*),SUM(surveys.NumNotif)"
|
||||
" FROM courses,surveys"
|
||||
"SELECT COUNT(*),SUM(svy_surveys.NumNotif)"
|
||||
" FROM courses,svy_surveys"
|
||||
" WHERE courses.DegCod=%ld"
|
||||
" AND courses.CrsCod=surveys.Cod"
|
||||
" AND surveys.Scope='%s'",
|
||||
" AND courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'",
|
||||
Gbl.Hierarchy.Deg.DegCod,
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS));
|
||||
break;
|
||||
case Hie_Lvl_CRS:
|
||||
DB_QuerySELECT (&mysql_res,"can not get number of surveys",
|
||||
"SELECT COUNT(*),SUM(NumNotif)"
|
||||
" FROM surveys"
|
||||
" WHERE surveys.Scope='%s'"
|
||||
" FROM svy_surveys"
|
||||
" WHERE svy_surveys.Scope='%s'"
|
||||
" AND CrsCod=%ld",
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS),
|
||||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
|
@ -4087,9 +4087,9 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope)
|
|||
" per survey",
|
||||
"SELECT AVG(NumQsts) FROM"
|
||||
" (SELECT COUNT(svy_questions.QstCod) AS NumQsts"
|
||||
" FROM surveys,svy_questions"
|
||||
" WHERE surveys.Scope='%s'"
|
||||
" AND surveys.SvyCod=svy_questions.SvyCod"
|
||||
" FROM svy_surveys,svy_questions"
|
||||
" WHERE svy_surveys.Scope='%s'"
|
||||
" AND svy_surveys.SvyCod=svy_questions.SvyCod"
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS));
|
||||
break;
|
||||
|
@ -4098,14 +4098,14 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope)
|
|||
" per survey",
|
||||
"SELECT AVG(NumQsts) FROM"
|
||||
" (SELECT COUNT(svy_questions.QstCod) AS NumQsts"
|
||||
" FROM institutions,centres,degrees,courses,surveys,svy_questions"
|
||||
" FROM institutions,centres,degrees,courses,svy_surveys,svy_questions"
|
||||
" WHERE institutions.CtyCod=%ld"
|
||||
" AND institutions.InsCod=centres.InsCod"
|
||||
" AND centres.CtrCod=degrees.CtrCod"
|
||||
" AND degrees.DegCod=courses.DegCod"
|
||||
" AND courses.CrsCod=surveys.Cod"
|
||||
" AND surveys.Scope='%s'"
|
||||
" AND surveys.SvyCod=svy_questions.SvyCod"
|
||||
" AND courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'"
|
||||
" AND svy_surveys.SvyCod=svy_questions.SvyCod"
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Cty.CtyCod,
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS));
|
||||
|
@ -4115,13 +4115,13 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope)
|
|||
" per survey",
|
||||
"SELECT AVG(NumQsts) FROM"
|
||||
" (SELECT COUNT(svy_questions.QstCod) AS NumQsts"
|
||||
" FROM centres,degrees,courses,surveys,svy_questions"
|
||||
" FROM centres,degrees,courses,svy_surveys,svy_questions"
|
||||
" WHERE centres.InsCod=%ld"
|
||||
" AND centres.CtrCod=degrees.CtrCod"
|
||||
" AND degrees.DegCod=courses.DegCod"
|
||||
" AND courses.CrsCod=surveys.Cod"
|
||||
" AND surveys.Scope='%s'"
|
||||
" AND surveys.SvyCod=svy_questions.SvyCod"
|
||||
" AND courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'"
|
||||
" AND svy_surveys.SvyCod=svy_questions.SvyCod"
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS));
|
||||
|
@ -4131,12 +4131,12 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope)
|
|||
" per survey",
|
||||
"SELECT AVG(NumQsts) FROM"
|
||||
" (SELECT COUNT(svy_questions.QstCod) AS NumQsts"
|
||||
" FROM degrees,courses,surveys,svy_questions"
|
||||
" FROM degrees,courses,svy_surveys,svy_questions"
|
||||
" WHERE degrees.CtrCod=%ld"
|
||||
" AND degrees.DegCod=courses.DegCod"
|
||||
" AND courses.CrsCod=surveys.Cod"
|
||||
" AND surveys.Scope='%s'"
|
||||
" AND surveys.SvyCod=svy_questions.SvyCod"
|
||||
" AND courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'"
|
||||
" AND svy_surveys.SvyCod=svy_questions.SvyCod"
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Ctr.CtrCod,
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS));
|
||||
|
@ -4146,11 +4146,11 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope)
|
|||
" per survey",
|
||||
"SELECT AVG(NumQsts) FROM"
|
||||
" (SELECT COUNT(svy_questions.QstCod) AS NumQsts"
|
||||
" FROM courses,surveys,svy_questions"
|
||||
" FROM courses,svy_surveys,svy_questions"
|
||||
" WHERE courses.DegCod=%ld"
|
||||
" AND courses.CrsCod=surveys.Cod"
|
||||
" AND surveys.Scope='%s'"
|
||||
" AND surveys.SvyCod=svy_questions.SvyCod"
|
||||
" AND courses.CrsCod=svy_surveys.Cod"
|
||||
" AND svy_surveys.Scope='%s'"
|
||||
" AND svy_surveys.SvyCod=svy_questions.SvyCod"
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
Gbl.Hierarchy.Deg.DegCod,
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS));
|
||||
|
@ -4160,9 +4160,9 @@ double Svy_GetNumQstsPerCrsSurvey (Hie_Lvl_Level_t Scope)
|
|||
" per survey",
|
||||
"SELECT AVG(NumQsts) FROM"
|
||||
" (SELECT COUNT(svy_questions.QstCod) AS NumQsts"
|
||||
" FROM surveys,svy_questions"
|
||||
" WHERE surveys.Scope='%s' AND surveys.Cod=%ld"
|
||||
" AND surveys.SvyCod=svy_questions.SvyCod"
|
||||
" FROM svy_surveys,svy_questions"
|
||||
" WHERE svy_surveys.Scope='%s' AND svy_surveys.Cod=%ld"
|
||||
" AND svy_surveys.SvyCod=svy_questions.SvyCod"
|
||||
" GROUP BY svy_questions.SvyCod) AS NumQstsTable",
|
||||
Sco_GetDBStrFromScope (Hie_Lvl_CRS),Gbl.Hierarchy.Crs.CrsCod);
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue