我需要从存储的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
答案 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)