1

Doctor というテーブルがあります。

Doctor テーブルは 4 つのフィールドで構成されます。DoctorID,DoctorName, DoctorAddress, DoctorSpeciality

私は、PatientData という別のテーブルを持っています。4 つのフィールドがあります。PatientId, PatientName, PatientTelephone, DoctorID.

次のフィールドを表示する SQL を作成する必要があります。

PatientID, PatientName, DoctorName, DoctorSpeciality

1.) here を使用する必要があると思いますが、INNER JOINこのシナリオでの記述方法がわかりません。もうまくいくouter joinと思いますが、私は初めてJoinsです。誰かがここで私を助けてくれますか?

2.) 上記で作成しているステートメントの を作成できますVIEWSQL?

4

2 に答える 2

2

このようなものは通常のものを使用する必要がありINNER JOINます。これにより、PatientData テーブル内の一致するレコードを含む Doctor テーブルからすべてのレコードが返されます。

SELECT PD.PatientId, PD.PatientName, D.DoctorName, D.DoctorSpecialty
FROM Doctor D
   INNER JOIN PatientData PD ON D.DoctorId = PD.DoctorId

他のテーブルのいずれかからすべてのデータを返したい場合は、OUTER JOIN(私は を好むLEFT JOINs) の使用を検討してください。

結合の視覚的表現に関する素晴らしい記事は次のとおりです。 http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins

はい、必要に応じて、必要に応じてビューを作成できます。このようなものは近いはずです:

CREATE VIEW DoctorPatients AS
SELECT PD.PatientId, PD.PatientName, D.DoctorName, D.DoctorSpecialty
FROM Doctor D
   INNER JOIN PatientData PD ON D.DoctorId = PD.DoctorId

SQL Server ビュー: http://msdn.microsoft.com/en-us/library/ms187956.aspx

于 2013-02-23T21:48:33.643 に答える
1

単純結合です

SELECT p.PatientID, p.PatientName, d.DoctorName, d.DoctorSpeciality
FROM PatientData p JOIN Doctor d on d.DoctorID = p.PatientID

もちろん、これからビューを作成できます

   CREATE VIEW [dbo].[PatientAndDoctor]
   AS
      SELECT p.PatientID, p.PatientName, d.DoctorName, d.DoctorSpeciality
      FROM PatientData p JOIN Doctor d on d.DoctorID = p.PatientID
于 2013-02-23T21:51:14.197 に答える