从下一个选择语句的第一个选择中获取ID

时间:2019-04-10 01:33:17

标签: sql

我需要从存储的proc中的三个不同的表中选择三个结果。后两个表记录只能使用tabela_id查询。无法进行联接,因为需要三个不同的数据集。我尝试声明一个变量并选择该值作为tablea的ID,但是sql不允许这样做

select tablea_id, xyz, member_id
from tablea
where @member_id = tablea.member_id

select table2_id, abc, tablea_id
from tableb
where tableb.tablea_id = **tablea_id**

select tablec_id, aggg, tablea_id
from tablec
where tablec.tablea_id = **tablea_id

1 个答案:

答案 0 :(得分:0)

MS Sql Server可以这样完成:

select table2_id, abc, tablea_id
    from tableb
    where tableb.tablea_id = (
    select TOP 1 tablea_id from tablea where @member_id = tablea.member_id
    )

    select tablec_id, aggg, tablea_id
    from tablec
    where tablec.tablea_id = (select TOP 1 tablea_id from tablea where @member_id = tablea.member_id)