
大家帮忙解决一个SQL语句的问题,两张表的关联查询
select*fromawhereexitsts(selectcount(*)frombwhereb.uid=a.uidandb.viewFlag=1andb.EndDa...
select * from a where exitsts(select count(*) from b where b.uid=a.uid and b.viewFlag=1 and b.EndDate>=getdate())>0) order by a.id desc
a表是企业信息表,b表是企业发布的职位表,两个表中有相互关联的字段,就是a表中的uid就是企业的用户名,b表中也有记录发布职位的企业的用户名 b.uid,
viewFlag表示职位是否显示,
enddate表示职位截止时间,
我想达到的效果就是通过这条查询语句,返回发布了职位的企业
现在遇到了一个新问题:我现在有一个字符串2011-6-7
sQL语句不允许用字符串与getdate()比较大小,现在我应该怎样写语句,select '2011-6-7'<getdate()
应该怎样转换,麻烦你,告诉我一下 展开
a表是企业信息表,b表是企业发布的职位表,两个表中有相互关联的字段,就是a表中的uid就是企业的用户名,b表中也有记录发布职位的企业的用户名 b.uid,
viewFlag表示职位是否显示,
enddate表示职位截止时间,
我想达到的效果就是通过这条查询语句,返回发布了职位的企业
现在遇到了一个新问题:我现在有一个字符串2011-6-7
sQL语句不允许用字符串与getdate()比较大小,现在我应该怎样写语句,select '2011-6-7'<getdate()
应该怎样转换,麻烦你,告诉我一下 展开
6个回答
展开全部
select * from a
left join b on a.uid=b.uid where b.viewflag=1 and b.endate>=getdate()
order by a.id desc
这个比inner join 快点
inner join 要相互匹配
left join 把左边的表 移到主表
数据不会丢失
left join b on a.uid=b.uid where b.viewflag=1 and b.endate>=getdate()
order by a.id desc
这个比inner join 快点
inner join 要相互匹配
left join 把左边的表 移到主表
数据不会丢失
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2025-03-12 广告
以下是虚拟筛选的简要流程图说明:1. **调研靶点**:确认是否有参考药物与结合模式信息。2. **建立模型**:基于靶点蛋白结构,参考已有药物结合信息或预测药物结合模式。3. **选择库源**:从多样性化合物库、上市药物分子库等中挑选合适...
点击进入详情页
本回答由MCE 中国提供
展开全部
select * from a where exitsts(select * from b where b.uid=a.uid and b.viewFlag=1 and b.EndDate>=getdate())>0) order by a.id desc
或者
select * from a inner join b on a.uid=b.uid
where b.viewflag=1 and b.endate>=getdate()
order by a.id desc
或者
select * from a inner join b on a.uid=b.uid
where b.viewflag=1 and b.endate>=getdate()
order by a.id desc
追问
我采用的您的第2种方法,不知道第一种方法和第2种方法哪个执行的速度会快一点?
现在遇到了一个新问题:我现在有一个字符串2011-6-7
sQL语句不允许用字符串与getdate()比较大小,现在我应该怎样写语句,select '2011-6-7'<getdate()
应该怎样转换,麻烦你,告诉我一下
追答
第二种比较严谨,你的写法是落后的,处理复杂链接会有漏洞,被微软抛弃了。效率也是第二种好
比较的话需要把getdate转换成字符型或把字符型转换成日期型
‘2011-6-7’<convert(varchar(10),getdate())试试,
或者cast('2011-6-7' as datetime)<getdate()
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的意思应该是处理某个逻辑时会运用到两张表的数据吧,实现方法有很多啊!关于java WEB数据库编程建议学一些基础框架!(如hibernate)
至于上面你提出的问题,你可以设计一个中间javabean,作为数据储存专用!
至于上面你提出的问题,你可以设计一个中间javabean,作为数据储存专用!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from a where a.uid in ( select b.uid from b where b.viewFlag=1 and b.EndDate>=getdate() group by b.uid ) order by a.id desc 这个执行效率不是很好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from a where exitsts
(select * from b where b.uid=a.uid and b.viewFlag=1 and b.EndDate>=getdate())
order by id desc
(select * from b where b.uid=a.uid and b.viewFlag=1 and b.EndDate>=getdate())
order by id desc
追问
现在遇到了一个新问题:我现在有一个字符串2011-6-7
sQL语句不允许用字符串与getdate()比较大小,现在我应该怎样写语句,select '2011-6-7'<getdate()
应该怎样转换,麻烦你,告诉我一下
追答
SQL SERVER 时间格式的字符数据可以与datetime数据隐式转换,所以是可以比较的。mysql、oracel数据库也是可以的。
字符转换为日期的函数
SQL SERVER
CAST('2011-6-7' as datetime)
或CONVERT(datetime,'2011-6-7',120)
oracle
to_date('2011-6-7');
mysql
STR_TO_DATE('2011-6-7','%Y-%m-%d' )
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询