MySQL:从另一行中选择与特定值相关的所有行

标签 mysql

我有以下 mysql 表。我一直在尝试选择所有与 B 作为 code 列中的值的行相关的行。该关系基于 trans_id

列的值
id   trans_id  code  amount   side
1      1         A    200     left
2      1         B    200     right
3      2         J    100     right
4      2         C    100     right
5      2         B    200     left
6      3         A    630     right
7      3         K    630     left

我的预期结果:

  id   trans_id  code  amount   side
  1      1         A    200     left
  3      2         J    100     right
  4      2         C    100     right

你能告诉我实现这个的 mysql 查询应该是什么吗?

谢谢:)

最佳答案

以下查询应返回您想要的结果。这使用选择查询将结果返回到 WHERE 子句。

SELECT * FROM yourTable 
WHERE trans_id IN (
    SELECT trans_id FROM yourTable WHERE code='B'
) 
AND code!='B'

关于MySQL:从另一行中选择与特定值相关的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11012218/

相关文章:

iphone - 通过 SQLite 将核心数据与 SQL 或 MySQL 同步

java - JPA 通过查询连接表

php - 添加数据库的列以获得总和然后除以得到百分比

mysql - 保持数据与异步 HTTP 请求一致

php - mysql在开头加值(concat),不在结尾?

Mysql - 每个ID的最新输入

php - 在php行中插入多个值

php - Codeigniter:将 activeRecord 与手动查询相结合?

MySql数据库设计

mysql - 即使在使用连接池后如何处理过多的并发连接?