首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql高级选择

问Mysql高级选择
EN

Stack Overflow用户
提问于 2014-04-23 15:25:38
回答 1查看 40关注 0票数 0

我需要帮助处理这个mysql语句。我想要它选择所有的朋友,我的朋友,我不是朋友。现在,这只是挑选我所有朋友的朋友,即使我是那个人的朋友。结果是这样的:

我的朋友-鲍勃,乔。建议朋友-吉姆,乔恩,鲍勃

鲍勃不应该在建议的朋友名单上,因为他在我的名单上。我可以用一个高级mysql语句来完成这个任务吗?或者我需要做其他的事情吗?谢谢!

我的当前sql代码:

代码语言:javascript
复制
SELECT * FROM friendlist WHERE addby='$user'

完整法典:

代码语言:javascript
复制
$user = $_SESSION['username'];
$find = mysqli_query($con, "SELECT * FROM friendlist WHERE addby='$user'");
while($row = mysqli_fetch_assoc($find)){
$friend = $row['username'];
$q = mysqli_query($con, "SELECT * FROM friendlist WHERE addby='$friend'");
while($row2 = mysqli_fetch_assoc($q)){

    if(!isset($list)){
        $list = "";
    }
    $list .= "<a href='profile.php?u=" . $row2['username'] . "'>" .     $row2['username'] . "</a><br>";                 
}
echo "<a href='profile.php?u=" . $row['username'] . "'>" . $row['username'] . "</a>   <br>";
}


echo $list;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-23 15:53:19

这应该会给你你想要的结果,如果我理解你想要什么和你的表格结构正确的话。关于你的结构的更多细节可能会有帮助,如果这样做不适合你。

代码语言:javascript
复制
SELECT * FROM friendlist WHERE addby = '$friend' AND id NOT IN (SELECT id FROM friendlist WHERE addby = '$user');

您可能需要将“id”列更改为表中的任何工作项(大概是主键)。这是通过过滤select子查询的结果来实现的,该查询应该返回所有的用户朋友列表,前提是我理解您的表结构。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23248812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档