2016-11-01 5 views
1

私はMS SQLサーバを使用しており、私は以下のように2つのテーブルを持っています。内部結合を持つもの以外のすべてのフィールドを取得する方法は?

School(scid, name, address, ....) 
Student(scid, studentName, studentSurname, ....) 

私が質問したいのは、

SELECT * FROM Student ST INNER JOIN School SC ON ST.scid = SC.scid; 

しかし、私は結果としてscidフィールドを二重にしたくありません(scidとscid_1を返します)。私は意味する

SELECT *(except School.scid) FROM Student ST INNER JOIN School SC ON ST.scid = SC.scid; 

1つ以外のすべてのフィールドを取得する方法はありますか?

+0

2つ以上のテーブルのすべてのフィールドを使用している場合は、ビューを作成して、必要なすべての列を明示的に定義すると効果的です。次に、アプリケーションで単純な選択、つまり 'Select * from StudentFullView'を実行する必要があります – navigator

答えて

1

これを行う唯一の方法は、明示的にすべてのフィールドの名前を付けることです。あなたはこの多くを持っている場合

SELECT ST.*, School.Field1, School.Field2, etc 
    FROM Student ST INNER JOIN School SC ON ST.scid = SC.scid; 

、あなたはレッドゲートのSQLプロンプトを使用して検討することもでき、彼らはそれが簡単にSQLデータベースで動作するようにさせるいくつかの機能を持っている:あなたが取ることができる唯一のショートカットは、個々のテーブルがために*使用しています。

関連する問題