0

だから私は次のデータを持つ2つのテーブルを持っています

*where a star is a primary key.
*and a # is a unique key.

表1

╔══════╦═══════╦════════╗
║ #nlm ║ data2 ║ *data3 ║
╚══════╩═══════╩════════╝

表 2

╔══════╦═════╗
║ *pid ║ nlm ║
╚══════╩═════╝

目標は、pid を知っているときに data2 を取得することです。私はこれを試しましたが、ひどく失敗しました。

 SELECT data2 FROM table1 LEFT JOIN table2 USING nlm WHERE pid = 3;
4

2 に答える 2

0

このUSING句では、列名を括弧で囲む必要があります。

SELECT data2 FROM table1
INNER JOIN table2 USING (nlm)
WHERE pid = 3

WHEREこの句では で行を検索する必要があるため、これも INNER JOIN である必要がありますtable2

于 2013-05-23T19:21:05.140 に答える
0

自然結合は、共通の列名を使用して 2 つのテーブルを接続し、using句を使用します。他の結合はon句を使用します。

これを試して:

SELECT table1.data2
FROM table1 LEFT JOIN
     table2 
     on table1.nlm = table2.`#nlm`
WHERE table2.pid = 3;
于 2013-05-23T18:57:33.883 に答える