我正在为内部连接上的 SQL 查询而苦苦挣扎。我想要它所以它加入与 $user_id 不同的字段。希望这是有道理的,这可能更容易理解:
if ($user_id = wallfriends.mem_id_from) {
INNER JOIN wallfriends ON wallusers.mem_id = wallfriends.mem_id_to
} else if ($user_id = wallfriends.mem_id_to) {
INNER JOIN wallfriends ON wallusers.mem_id = wallfriends.mem_id_from
}
我当前的查询:
SELECT * FROM wallusers
INNER JOIN wallfriends ON wallusers.mem_id = wallfriends.mem_id_from
WHERE ((wallfriends.mem_id_from =".$user_id.") OR (wallfriends.mem_id_to =".$user_id.")) AND wallfriends.confirm=1
提前致谢
最佳答案
我想你需要的是对 sql 字符串进行三元比较
$sql = " SELECT * FROM wallusers
INNER JOIN wallfriends ON wallusers.mem_id = ".( $user_id == "wallfriends.mem_id_to"?"wallfriends.mem_id_from":"wallfriends.mem_id_to")."
WHERE wallfriends.confirm=1";
关于php - MySQL INNER 连接取决于 php 变量是否等于一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13627941/