SQL连接两个查询

时间:2013-12-03 19:29:00

标签: sql sql-server

我有点迷失在这里。我想将这两个查询合并为一个,以避免两个连接并简化代码。

 "SELECT uname FROM Projects WHERE id IN (SELECT MAX(id) FROM Projects)"

 "SELECT name FROM Users WHERE username like"+"'"+ uname +"'"

现在我正在使用两个查询并将第一个结果带入第二个查询。 我确信这两个查询可以成为一个,但我不知道该怎么做。

3 个答案:

答案 0 :(得分:1)

您可以使用=而不是LIKE,因为我没有使用%等模式符号。

SELECT  a.name
FROM    Users a
        INNER JOIN Projects b
            ON a.username = b.uname
WHERE   b.ID = (SELECT MAX(id) FROM Projects)

答案 1 :(得分:1)

考虑到您的两个表都通过INNER JOIN

链接,您可以尝试使用User_ID
SELECT  u.name
FROM    Users u INNER JOIN Projects p ON u.username = p.uname
WHERE   p.ID = (SELECT MAX(id) FROM Projects)

答案 2 :(得分:1)

我认为以下查询可行:

SELECT name FROM Users WHERE username in 
    (SELECT uname FROM Projects WHERE id IN 
        (SELECT      MAX(id) FROM Projects))