Php 有3个表用户、winks和Favorite
有三张桌子,请看这个结构 用户表Php 有3个表用户、winks和Favorite,php,mysql,sql,Php,Mysql,Sql,有三张桌子,请看这个结构 用户表 ====================== id(users.id) |username | status ---------------------------------- 56 | mark | 1 ---------------------------------- 57 | john | 1 ---------------------------------- 58 |
======================
id(users.id) |username | status
----------------------------------
56 | mark | 1
----------------------------------
57 | john | 1
----------------------------------
58 | lina | 1
----------------------------------
59 | lara | 1
----------------------------------
使眼色表
======================
wink_id | from_id(fk from users.id) | to_id(fk from user.id) | wink_flag
--------------------------------------------------------------------------
1 | 56 | 57 | 1
--------------------------------------------------------------------------
2 | 56 | 58 | 1
--------------------------------------------------------------------------
喜欢的桌子
======================
fav_id | from_id(fk from user.id) | to_id(fk from user.id) | fav_flag
------------------------------------------------------------------------
1 | 56 | 59 | 1
------------------------------------------------------------------------
1 | 56 | 58 | 1
------------------------------------------------------------------------
想要左连接以获得这样的数据
=======================================================================
id | wink_flag | fav_flg | status
------------------------------------
57 | 1 | Null
------------------------------------
58 | 1 | 1
------------------------------------
59 | Null | 1
------------------------------------
======================================
id | wink_flag | fav_flg | status
------------------------------------
57 | 1 | Null
------------------------------------
58 | 1 | 1
------------------------------------
59 | Null | 1
------------------------------------
我加入这两个表winks和fav使用左连接与用户
查询
当结果为user.id 56时
表示当我使用56 user.id登录时
然后,我将让除我之外的所有用户行都认为我是以56 user.id登录的
结果将是这样的
=======================================================================
id | wink_flag | fav_flg | status
------------------------------------
57 | 1 | Null
------------------------------------
58 | 1 | 1
------------------------------------
59 | Null | 1
------------------------------------
======================================
id | wink_flag | fav_flg | status
------------------------------------
57 | 1 | Null
------------------------------------
58 | 1 | 1
------------------------------------
59 | Null | 1
------------------------------------
如何编写sql查询以获得类似上述结果
帮帮我。你应该试试左键连接
结果:
╔════╦═══════════╦══════════╦════════╗
║ ID ║ WINK_FLAG ║ FAV_FLAG ║ STATUS ║
╠════╬═══════════╬══════════╬════════╣
║ 57 ║ 1 ║ (null) ║ 1 ║
║ 58 ║ 1 ║ 1 ║ 1 ║
║ 59 ║ (null) ║ 1 ║ 1 ║
╚════╩═══════════╩══════════╩════════╝
没有左连接,请参见演示
走开,想出你认为你需要做的事情,然后回来纠正。不要期望人们为您编写代码。如果问题是如何编写,那么答案是使用任何文本编辑器:否则,该参考可能会帮助您:http://sqlfiddle.com 将您的模式放在此处欢迎使用StackOverflow。请花点时间阅读常见问题解答,特别是关于的部分。这不是一个租一个编码器类的网站,你应该表现出一些努力来解决你的问题。显示您迄今为止所做的尝试,无论您的查询是否正确,也许您没有错,查询只需要一些调整。一旦你发布了一些代码,你肯定会有一些答案。当我添加一个额外的用户时,它并没有显示结果中的额外用户?@supercool-你能显示什么不起作用吗?通过添加样本data@supercool-在另一种解决方案中,使用静态条件。你的身份证在哪里56这并不理想。@hims056他希望用户登录的数据不在条件下使用,并根据该条件&!=都一样