tbl1:schID,SChName
tbl2:SchID,stuid,city,state,loan_purpose,Action
我有两张桌子,tbl1列出了学校ID和学校名称,而tbl2列出了学校的学生,贷款目的和行动。 我需要帮助编写一个查询来列出接受的学校名称 超过2个州的申请(贷款类型=" FS"行动是" A)。
答案 0 :(得分:1)
您希望使用GROUP BY
使用WHERE
来应用行级过滤器(操作和贷款用途),然后HAVING
用于聚合过滤器(州数)。
SELECT
tbl1.SchID,
tbl1.SchName
FROM tbl1
INNER JOIN tbl2
ON tbl1.SchID = tbl2.SchID
WHERE tbl2.loan_purpose = 'FS'
AND tbl2.Action = 'A'
GROUP BY
tbl1.SchID,
tbl1.SchName
HAVING COUNT(DISTINCT tbl2.state) > 2
ORDER BY
tbl1.SchName
答案 1 :(得分:0)
select SCHName FROM(
select tbl1.schname, count(*) FROM
tbl1 INNER JOIN tbl2 on tbl1.SCHID = tbl2.SCHID
WHERE tbl2.loan_purpose = 'FS' AND tbl2.ACTION = 'A'
GROUP BY SCHName
HAVING count(*) > 2
)