1

学生情報を含む6つのテーブルがあります。それらはすべて同じ列名を共有していますが、データは異なります。では、問題は、アカデミック カレッジの 6 年間の学期ごとの学生人口統計のレポートをどのように作成するかということです。このタイプの質問に左結合を使用しますか? 内部結合を使用しようとしましたが、うまくいきませんでした。実際、それは私がしたことです:

SELECT DOB, SEX, RACE, MAJORCOLLEGE

FROM MasterFile2006

Join MasterFile2007 ON MasterFile2006.HOMEID = MasterFile2007.HOMEID

Join MasterFile2008 ON MasterFile2006.HOMEID = MasterFile2008.HOMEID

Join MasterFile2009 ON MasterFile2006.HOMEID = MasterFile2009.HOMEID

Join MasterFile2010 ON MasterFile2006.HOMEID = MasterFile2010.HOMEID

Join MasterFile2011 ON MasterFile2006.HOMEID = MasterFile2011.HOMEID

あなたの助けに本当に感謝します!!

4

2 に答える 2

4

次を使用しUNIONます。

SELECT DOB, SEX, RACE, MAJORCOLLEGE, '2006' as [Year] FROM MasterFile2006
UNION ALL
SELECT DOB, SEX, RACE, MAJORCOLLEGE, '2007' as [Year] FROM MasterFile2007
UNION ALL
SELECT DOB, SEX, RACE, MAJORCOLLEGE, '2008' as [Year] FROM MasterFile2008
UNION ALL
SELECT DOB, SEX, RACE, MAJORCOLLEGE, '2009' as [Year] FROM MasterFile2009
UNION ALL
SELECT DOB, SEX, RACE, MAJORCOLLEGE, '2010' as [Year] FROM MasterFile2010
UNION ALL
SELECT DOB, SEX, RACE, MAJORCOLLEGE, '2011' as [Year] FROM MasterFile2011

注:UNION ALLは重複を破棄せず (重複があってはなりません)、UNIONa を実行してDISTINCT重複行を破棄します。

于 2013-03-05T07:18:20.543 に答える
1

UNION ALLまたはを使用する必要がありますUNION。レコードUNIONが必要な場合に使用します。DISTINCT

SELECT DOB, SEX, RACE, MAJORCOLLEGE FROM MasterFile2006
UNION
SELECT DOB, SEX, RACE, MAJORCOLLEGE FROM MasterFile2007
UNION
SELECT DOB, SEX, RACE, MAJORCOLLEGE FROM MasterFile2008
UNION
SELECT DOB, SEX, RACE, MAJORCOLLEGE FROM MasterFile2009
UNION
SELECT DOB, SEX, RACE, MAJORCOLLEGE FROM MasterFile2010
UNION
SELECT DOB, SEX, RACE, MAJORCOLLEGE FROM MasterFile2011
于 2013-03-05T07:23:22.903 に答える