申し訳ありませんが、私はこれを適切な場所に置いてもらいたいと思いますが、質問が2つあります。Oracle SQL Query 2
次のように私のデータベースリレーションスキーマは次のとおりです。
DEPARTMENT(deptnum, descrip, instname, deptname, state, postcode)
ACADEMIC(acnum, deptnum*, famname, givename, initials, title)
PAPER(panum, d.)
AUTHOR(panum*, acnum*)
FIELD(fieldnum, id, title)
INTEREST(fieldnum*, acnum*, descrip)
1)私は20本の未満の論文を書かれている任意のより多くの学者があるかどう見つける必要があります。私はacnum、タイトル、famname、指定された論文の数と彼らが書いた数をリストする必要があります。私はまた、学者の数が最も多い部署を見つけて、そのDEPTNUM、DEPTNAMEとinstnameのを印刷する必要がありますが、イムは、構文エラーを取得)
SELECT a.acnum, a.title, a.famname, a.givename, count(p.panum)
FROM ACADEMIC a
INNER JOIN PAPER p
INNER JOIN AUTHOR au ON a.acnum = au.acnum and au.panum = p.panum
GROUP BY a.ACNUM, a.title, a.famname, a.givename
HAVING COUNT(p.panum) < 20;
2:以下の私の試みを参照してください。私の試行を見てください:
SELECT deptnum, deptname, instname, count(acnum)
FROM department, academic,
WHERE academic.deptnum = department.deptnum
GROUP BY deptnum
HAVING MAX(count(acnum));
ています'author'テーブル(特定の学術的なshouldn '特定の論文の著者として複数回表示されることがあります)。その場合、最初のクエリでは、 'academic'と' author'の間に1回のjoinだけが必要です。 'paper'テーブルに参加する必要はありません。 – mathguy