0
私たちの学校のERPは、それに対して厄介なデータベース構造を持っており、正しく正規化されていないため、同じテーブルに複数回結合することに問題があります。学生の学位履歴情報が、スキップを示し、私は、クエリをしたいSQL - 同じ行の複数の列で結合する
|DegreeCode|DegreeDesc |
-----------|-----------------
CMPT |Computer Science
BUSI |Business
:別のテーブルのDegreeDescriptionあり
|Major1|Major2|Major3|Minor1|Minor2|Minor3|
-------|------|------|------|------|------|
CMPT BUSI
:
DegreeHistory表には、人のための1つの行のエントリでこれらの列を持っています度コードと代わりに度の説明を表示します。可能専攻、未成年者、濃度、認証のそれぞれについて
SELECT dd.DegreeDesc, dd1.DegreeDesc FROM DegreeHistory dh
LEFT JOIN DegreeDescription dd ON dd.DegreeCode = dh.Major1
LEFT JOIN DegreeDescription dd1 ON dd1.DegreeCode = dh.Major2 ...
、等...(行うのは簡単であるが)大きくて醜いクエリのように思える:私はよりも、この他を行うことができます方法はあります。
:-(非正規化された構造を得るものだが、はい、あなたはそれが正しい方法を持っています。 – Juliet