Mysql 如何在公共SQL查询中仅选择具有记录值的ID?

Mysql 如何在公共SQL查询中仅选择具有记录值的ID?,mysql,sql-server,Mysql,Sql Server,我只是无法计算出这个sql查询,我甚至搜索过,但没有找到正确的解决方案。我知道这很简单,但有些事情我做得不对 我的问题是:假设Set\u ID和Acc\u No位于与Acc\u ID相关的不同表格中。如何仅选择包含Acc\u No(1-1110)的Set\u ID 所以从这个 Set_ID | Acc_No --------------- 25 | 1-1110 25 | 1-1225 100 | 1-1110 100 | 1-5555 126 |

我只是无法计算出这个sql查询,我甚至搜索过,但没有找到正确的解决方案。我知道这很简单,但有些事情我做得不对

我的问题是:假设Set\u IDAcc\u No位于与Acc\u ID相关的不同表格中。如何仅选择包含Acc\u No(1-1110)的Set\u ID

所以从这个

 Set_ID | Acc_No
 ---------------
  25    | 1-1110
  25    | 1-1225
  100   | 1-1110
  100   | 1-5555
  126   | 1-1141
  126   | 1-1552
  150   | 1-1110
  150   | 1-1200
  201   | 1-1221
  201   | 1-1200
对此

 Set_ID | Acc_No
 ---------------
  25    | 1-1110
  25    | 1-1225
  100   | 1-1110
  100   | 1-1555
  150   | 1-1110
  150   | 1-1200

您需要在这两个表上应用内部联接,并在
SET\u ID
上附加一个条件

根据您提供的描述,我尝试创建名为
tbl_集合
tbl_账户
的两个表,并提出以下SQL查询:

  SELECT S.Set_ID,A.Acc_No from tbl_sets S
  INNER JOIN tbl_accounts A
  ON S.Acc_ID = A.Acc_ID
  AND S.Set_ID in (SELECT Set_ID FROM tbl_sets ts INNER JOIN  tbl_accounts    ta ON  ts.Acc_ID = ta.Acc_ID WHERE ta.Acc_No = '1-1110')
有关完整的表架构和SQL查询,请参阅此演示:

  SELECT S.Set_ID,A.Acc_No from tbl_sets S
  INNER JOIN tbl_accounts A
  ON S.Acc_ID = A.Acc_ID
  AND S.Set_ID in (SELECT Set_ID FROM tbl_sets ts INNER JOIN  tbl_accounts    ta ON  ts.Acc_ID = ta.Acc_ID WHERE ta.Acc_No = '1-1110')

您使用的是两个不同的RDBMS?@Fabio,您是否尝试了下面答案中提供的查询?如果您在查询中遇到任何问题,请告诉我。@草莓,子查询需要进一步优化查询,以便它将返回与
Acc\u-No
-1-1110成对的
Set\u-ID
的所有
Acc\u-No
组合。