0

次の 3 つのテーブルを使用しています。

最初のテーブル

  • ID
  • 応答

2 番目のテーブル

  • 応答 ID
  • 患者ID

3 番目のテーブル

  • 患者ID

1 番目と 2 番目のテーブルの関係は と にidありresponceidます。

3 番目と 2 番目の関係は onpatientidです。

ここで、2 番目と 3 番目のテーブルからのマッチングを利用して、1 番目と 3 番目のテーブルのすべての値のように、これらのテーブルから値を取得する必要がありpatientidます。

これどうやってするの?

4

3 に答える 3

2

基本的に、それらの関係を定義するすべての列がnull許容でない場合は、INNER JOINそれで十分です。ただし、それらがnull許容であり、からのすべてのレコードを表示する場合は、の代わりにfirstTBを使用する必要があります。LEFT JOININNER JOIN

SELECT  a.*, b.*, c.*
FROM    firstTB a
        INNER JOIN secondTB b
            ON a.ID = b.responceID
        INNER JOIN thirdTB c
            ON b.patientID = c.patientID

結合についてさらに知識を深めるには、以下のリンクにアクセスしてください。

于 2013-03-05T13:29:03.157 に答える
1

あなたはおそらく探しているINNER JOINJOIN、一般的に:

SELECT
    response.id,
    response.responce,
    patient.patientid
FROM
    `response_table` as `response`
INNER JOIN
    `relation_table` as `relation`
ON
    relation.responceid = response.id
INNER JOIN
    `patient_table` as `patient`
ON
    relation.patientid = patient.patientid
于 2013-03-05T13:28:56.870 に答える
0

試す

    SELECT first.*
         , third.*
      FROM first
INNER JOIN second  ON ( second.responseid = first.id )
INNER JOIN third   ON ( third.patientid   = second.patientid )
         ;

正直なところ、侮辱を意図したものではありませんが、このようなクエリを自分で思いつくのが難しい場合は、db の基本と db 開発に関するトレーニングを検討してください。 -)))。

于 2013-03-05T13:33:33.620 に答える