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

Use LEFT JOIN to join bothe tables.

Try this:

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

If you want to put WebSiteID = 1 condition then use below query:

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;

Above query will allow NULL values also.

于 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 回答