SQL Statement WHERE clause -
i have 2 tables in database. 1 applicants
, being programmedetail
. in programmedetail
, capture minimum required applicant
. when applicant
sign programme, tied programmeid
.
however, when sql statement, using innerjoin
, where
clause, kept getting error.
programmedetail table sample data:
------------------------------------------- | programmeid | programmerequirement | ------------------------------------------- | p01 | 20 | -------------------------------------------
applicant table sample data:
----------------------------------- | applicantid | programmeid | ----------------------------------- | a001 | p01 | ----------------------------------- | a002 | p01 | -----------------------------------
desired output:
------------------------------------------- | programmeid | programmerequirement | ------------------------------------------- | p01 | 20 | -------------------------------------------
because there's 2 applicants p01
, minimum requirement 20 applicants. p01
retrieved.
here's i've tried:
select * programmedetail pd inner join applicant appl on pd.programmeid = appl.programmeid count(appl.applicantid) < pd.programmerequirement
error:
is invalid in having clause because not contained in either aggregate function or group clause.
try following, have tried mysql , works desired output. have added columns need in result.
select pd.programmeid pd.programmerequirement programmedetail pd inner join applicant appl on pd.programmeid = appl.programmeid group pd.programmeid having count(*) < 20
Comments
Post a Comment