3

私は2つのテーブルを持っています

A. LinkNames

LINKID NAME
1  Name1
2  Name2
3  Name3

B. Links

WebsiteID  LINKID  LINKPATH
1             1     "WWW.test.com"

このような出力を表示するクエリが必要です

LINKID   LINKNAME   LINKPATH
1         NAME1     WWW.test.com
2         NAME2     ""
3         NAME3     ""

可能なすべての結合を試しましたが、うまくいきません

4

2 に答える 2

2

両方のテーブルを結合するには、LEFT JOINを使用します。

これを試して:

SELECT A.LINKID, 
       A.NAME AS LINKNAME, 
       IFNULL(B.LINKPATH, '""') AS LINKPATH
FROM LinkNames A
LEFT JOIN Links B ON A.LINKID = B.LINKID;

条件を設定する場合WebSiteID = 1は、以下のクエリを使用します。

SELECT A.LINKID, 
       A.NAME AS LINKNAME, 
       IFNULL(B.LINKPATH, '""') AS LINKPATH
FROM LinkNames A
LEFT JOIN Links B ON A.LINKID = B.LINKID AND B.WebsiteID = 1;

上記のクエリでは、NULL 値も許可されます。

于 2015-12-21T06:44:27.890 に答える
0

You have to use INNER JOIN like below

SELECT LinkNames.LINKID,
       LinkNames.NAME,
       Links.LINKPATH
FROM LinkNames
JOIN Links ON LinkNames.LINKID = Links.LINKID ;
于 2015-12-21T06:43:50.903 に答える