小编Ada*_*ley的帖子

同一列上的多个 WHERE 条件 =val1 但不 =val2 或 val3

我正在尝试过滤具有非唯一事务 ID 的表,该表已连接到 1 个公共列上的产品表。过滤器需要如下:

equal to :group1 AND
NOT equal to :group2 AND
NOT equal to :group3
Run Code Online (Sandbox Code Playgroud)

我最初从以下查询开始,但没有AND rk_group <> ____条件。

SELECT COUNT(DISTINCT txn_id)
                    FROM 1_txns
                    INNER JOIN 2_products USING (sku)
                    WHERE rk_group = :group1
                    AND rk_group <> :group2
                    AND rk_group <> :group3
                    ;
Run Code Online (Sandbox Code Playgroud)

我也试过

SELECT COUNT(DISTINCT txn_id)
                    FROM 1_txns
                    INNER JOIN 2_products USING (sku)
                    WHERE rk_group NOT IN ( :group2, :group3)
                    ;
Run Code Online (Sandbox Code Playgroud)

我还尝试了多种连接和 IN() 和 NOT IN() 的组合,它仍然返回所有团队 ID,包括那些存在 NOT 组的团队 ID。

有人可以指出我正确的方向吗?

与查询相关的架构信息:

table 1_txns …
Run Code Online (Sandbox Code Playgroud)

mysql join condition where

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

condition ×1

join ×1

mysql ×1

where ×1