当前位置:编程学习 > C#/ASP.NET >>

急求Sql查询 请大家帮忙

我现在有两个表t1和t2

t1表里有dm,t101,t102 t1flag(1,a,aa,1)

t2表里有dm t201,t202,t2flag这个表里没数据

我现在想查询出来结构是这样的 
dm t101 t102 t1flag t201 t202,t2flag
 1   a   aa    1

查询条件两个表中flag都是1
有的时候t1表可能没有数据 t2有数据 
有的时候t1有数据 t2没数据
如何实现  --------------------编程问答-------------------- 自己顶 --------------------编程问答-------------------- 请哪位大虾帮帮忙啊 --------------------编程问答-------------------- select t1.dm,t1.t101,t1.t102,t1.t1flag,t2.t201,t2.t202,t2.t2flag from t1
left join t2 on t1.dm=t2.dm --------------------编程问答-------------------- select isnull(dm,null),isnull(t101,null),isnull(t102,null),isnull(t1flag,null),isnull(t201,null),isnull(t202,null),isnull(t2flag,null) from t1,t2 where t1.t1flag=1 and t2.t2flag=1 --------------------编程问答-------------------- left join  --------------------编程问答-------------------- 3楼漏了where,left应改为full,
应该是:
select t1.dm,t1.t101,t1.t102,t1.t1flag,t2.t201,t2.t202,t2.t2flag from t1
full join t2 on t1.dm=t2.dm
where t1.t1flag=1 or t2.t2flag=1
--------------------编程问答-------------------- 3楼是正确的,左连接! --------------------编程问答-------------------- 这个问题怎么跑C#里面来了?
呵呵,问一下 两个表用什么字段关联?DM么?
所用数据库是sql server还是其他的? --------------------编程问答-------------------- full join,left join对主表的内容会遗漏的。 --------------------编程问答-------------------- left join和full join 都不好使啊 查不出来啊 --------------------编程问答-------------------- 是dm sql数据库 呵呵 --------------------编程问答--------------------
SELECT
    t1.dm,t101,t102,t1flag,t201, t202,t2flag
FROM t1 left join t2 on t1.dm=t2.dm 
WHERE t1.t1flag=1

UNION

SELECT
    t2.dm,t101,t102,t1flag,t201, t202,t2flag
FROM t2 left join t1 on t1.dm=t2.dm 
WHERE t2.t2flag=1
--------------------编程问答-------------------- SELECT t1.dm,t1.t101,t1.t102,t1.t1flag,t2.dm,t2.t201,t2.t202,t2.t2flag
from t1 full join t2
on t2.dm = t1.dm
where (t1.t1flag = 1
or t2.t2flag =1) --------------------编程问答-------------------- 左连接 left join --------------------编程问答-------------------- 顶一下,帮你 --------------------编程问答-------------------- 帮你顶一下 --------------------编程问答-------------------- 帮顶!~~~~~~~~~~~~~~ --------------------编程问答--------------------
select t1.dm,t1.t101,t1.t102,t1.t1flag,t2.t201,t2.t202,t2.t2flag from t1
full join t2 on t1.dm=t2.dm
where t1.t1flag=1 or t2.t2flag=1
这样就可以了
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,