2013-03-11 89 views
-5

我有两个表需要一个(简单)的SQLite声明

FRIENDS 
id 
friendID 
name 
prename 

FRIENDLIST 
id 
userID 
friendID 

我传递一个用户ID(称为myPassedUserID)

我需要一个SQLite选择查询。它应该查找FRIENDLIST中的所有friendID,其中userID = myPassedUserID,然后从FRIENDS中检索与我刚查找的friendID相匹配的所有Columms。

我已经试过这样:

SELECT * 

FROM FRIENDS 
WHERE friendID IN 
(
    SELECT friendID 
    FROM FRIENDLIST 
    WHERE userID=myPassedUserID 
) 

,但我看,这是不利于性能的原因。

+3

你有什么试过的? SO不是我们只给你免费代码的地方;这是我们帮助您解决问题的地方。 – 2013-03-11 14:48:24

+0

正如你写的你的问题所表达的那样,你期望我们为你做你的想法。向我们展示您编写的代码以尝试解决这个问题,以及为什么您认为这是错误的。你还应该阅读[你有什么尝试](http://whathaveyoutried.com) - 这是非常有用的。 – 2013-03-11 14:50:29

+0

我怀疑性能评论是指可能给出可怕的查询计划的相关子查询。此查询不相关。 – 2013-03-11 16:46:05

回答

1
SELECT FRIENDS.* from FRIENDS 
INNER JOIN FRIENDLIST 
ON FRIENDS.FriendID = FRIENDLIST.FriendID 
WHERE FRIENDLIST.userID = ?