如何只选择在常见SQL查询中具有记录值的ID?

时间:2015-03-27 06:55:21

标签: mysql sql-server

我只是无法解决这个SQL查询,我甚至搜索过但没有找到正确的解决方案。我知道它很简单,但有些东西我没有做对。

我的问题是:说 Set_ID Acc_No 位于与 Acc_ID 相关的不同表格中。如何仅选择包含 Acc_No 1-1110 )的 Set_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

1 个答案:

答案 0 :(得分:-1)

您需要在这两个表上应用内部联接以及SET_ID上的条件。

根据您提供的说明,我尝试创建名为tbl_setstbl_accounts的2个表,并提出以下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查询:

SQL Fiddle Demo