编写动态查询以连接两个表并显示两个表..如果一个外键不存在则只显示已记录的主表... [英] write dynamic query for joining two table and display both tables..if one foreignkey not exist then display only master tables recored...

查看:76
本文介绍了编写动态查询以连接两个表并显示两个表..如果一个外键不存在则只显示已记录的主表...的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



i有两个表,我写这个查询..

它成功运作但只有当

partner_master有一个regid值时



我希望

如果partner_master表没有注册,那么只有register_master显示其记录

如果partner_master有regid值,然后两个表值显示。



-----------

怎么写动态查询??

------------

两张桌子

========== =

1)register_master

2)partner_master

------------------- -----------


i have two tables and i write this query..
it successfully worked but only when
partner_master have a regid value
.
and i want that
if partner_master table has not regisd then only register_master display its record
if partner_master have regid value then both tables value display.

-----------
how to write dynamic query ??
------------
two tables
===========
1) register_master
2) partner_master
------------------------------

@param varhcar(100)=null,
@regid bigint=0,
@sql_query varchar(max)=null

if @param='profile_detail'
    begin
        select * from Register_Master join Partner_Master
        on Register_Master.Reg_Id=Partner_Master.Reg_Id
        where
        Register_Master.Reg_Id=@regid;
    end



-----------

在@sql_query参数中写入动态查询。

-------------------------------


-----------
write dynamic query in @sql_query parameter.
-------------------------------

推荐答案

尝试LEFT JOIN

Try LEFT JOIN
select * from Register_Master LEFT JOIN Partner_Master
on Register_Master.Reg_Id=Partner_Master.Reg_Id
where
Register_Master.Reg_Id=@regid



了解更多关于 SQL连接的可视化表示 [ ^ ]


这篇关于编写动态查询以连接两个表并显示两个表..如果一个外键不存在则只显示已记录的主表...的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆