php - MySQL INNER 连接取决于 php 变量是否等于一个字段

标签 php mysql

我正在为内部连接上的 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/

相关文章:

php - 为每个语句设置无序列表的样式

mysql - 关于拍卖数据库架构的问题

php - 在复杂的 MySQL 查询中获取整行 MIN 值

php - SilverStripe PHP 表单 - 如果我在 FieldGroup 中嵌套一个 SelectionGroup,则相关的 SelectionGroup_Items 的单选框之一不会显示。为什么?

php - 将一个表中的第一个值插入另一个表 Mysql PHP

php - 如何将非 utf-8 字符串转换为 utf-8

php - 需要针对 IN 语句优化 MySQL 查询

php - 为什么Wordpress wp_update_post函数删除html表单标签?

mysql - 无法访问MySQL服务器,不知道root账户的密码

mysql - 重新计算 120k 记录的计数器缓存 [Rails/ActiveRecord]