加入Query应返回一行

时间:2012-11-02 14:19:47

标签: sql oracle

我需要编写一个查询,它将检索ownerid和creatorid的全名(在fullname中可用)。由于两者都指的是同一张表,它正在检索我两个rwo。但我需要在一行中同时拥有ownerid和creatorid fullname的全名。这该怎么做? owner id和creator id是userdetail表中的引用名称。

创建表页面(page_key,page_number,ownerid,creatorid)

创建表userdetail(id,fullname,phonenumber)

1 个答案:

答案 0 :(得分:1)

您需要两次加入表格userdetail,因为您希望在表fullname

中获得page两个ID
SELECT  a.*, 
        b.fullName as OwnerName,
        c.Fullname as CreatorName
FROM    page a
        INNER JOIN userdetail b
            ON a.ownerid = b.id
        INNER JOIN userdetail c
            ON a.creatorID = c.id

还有一件事,如果owneridcreatorID可以为空,请使用LEFT JOIN代替INNER JOIN