由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - 再来一个SQL Server的面试题
相关主题
[转载] Can anyone interpret this simple SQL?难。想了一天了。大牛请进。
菜鸟问.asp 里的select语句在基于SQL sever和Access语法上的不请教:SQL面试题。
better solution for cross table query in sql?问个SQL问题
Urgent SQL problem!aks a simple SQL question
PIVOT, 请大拿,帮我debug誰來幫我開來開悄? Interesting SQL query
我的这句MySQL哪里错了吗?2个table, 一个里面有4万个email, 一个里面有1万6千个email,如何比较?
change year format in Access by SQL query (转载)急问一个关于T-SQL的问题,谢谢
Re: [转载] what's the equivalent of 'minus' (oracle) in access?问一个关于SQL的问题
相关话题的讨论汇总
话题: dt话题: rates话题: between话题: join话题: where
进入Database版参与讨论
1 (共1页)
j****s
发帖数: 881
1
语法改错题,这语法挺混乱的。
Correct the syntax of this statement and make as small as possible:
select *
from t_rates a
join t_rates b
on a.ref1 = b.ref1
and a.ref2 = b.ref2
and a.BEG_DT between b.BEG_DT and b.END_DT
or a.ref1 = b.ref1
and a.ref2 = b.ref2
and a.END_DT between b.BEG_DT and b.END_DT
where cust_num is not null
and a.rate > .5
or a.rate < 0
j****s
发帖数: 881
2
我打的Revised T-SQL:
select *
from t_rates a join t_rates b
on a.ref1 = b.ref1 and a.ref2 = b.ref2
Where a.BEG_DT between b.BEG_DT and b.END_DT
Union
select *
from t_rates a join t_rates b
on a.ref1 = b.ref1 and a.ref2 = b.ref2
where a.END_DT between b.BEG_DT and b.END_DT
where cust_num is not null
and (a.rate > .5 or a.rate < 0)
是self join,感觉逻辑也不太清楚。
B*****g
发帖数: 34098
3
答这个题有包子吗?

【在 j****s 的大作中提到】
: 我打的Revised T-SQL:
: select *
: from t_rates a join t_rates b
: on a.ref1 = b.ref1 and a.ref2 = b.ref2
: Where a.BEG_DT between b.BEG_DT and b.END_DT
: Union
: select *
: from t_rates a join t_rates b
: on a.ref1 = b.ref1 and a.ref2 = b.ref2
: where a.END_DT between b.BEG_DT and b.END_DT

k*****n
发帖数: 361
4
俺来试试看,题目不清楚,没有明确的要select的条件阿
select *
from t_rates a
join t_rates b
on
(
a.ref1 = b.ref1
and a.ref2 = b.ref2
and a.BEG_DT between b.BEG_DT and b.END_DT
or a.ref1 = b.ref1
and a.ref2 = b.ref2
and a.END_DT between b.BEG_DT and b.END_DT
)
and
(
a.rate > .5
or a.rate < 0
)
where a.cust_num is not null
k*****n
发帖数: 361
5
select *
from t_rates a
join t_rates b
on
a.ref1 = b.ref1
and a.ref2 = b.ref2
and a.BEG_DT between b.BEG_DT and b.END_DT
or a.ref1 = b.ref1
and a.ref2 = b.ref2
and a.END_DT between b.BEG_DT and b.END_DT
where a.cust_num is not null
and (
a.rate > .5
or a.rate < 0
)
k*****n
发帖数: 361
6
这回应该对了
select *
from t_rates a
join t_rates b
on
a.ref1 = b.ref1
and a.ref2 = b.ref2
where a.cust_num is not null
and (
a.rate > .5
or a.rate < 0
)
and
(
a.BEG_DT between b.BEG_DT and b.END_DT
or
a.END_DT between b.BEG_DT and b.END_DT
)
j****s
发帖数: 881
7
多谢了,包子已发。
还有一个小题答完之后才知道错了,其实很简单,就是insert values的时候,先要
insert into dimension table,再insert into fact table。我当时没有留意,匆忙做
了。

【在 k*****n 的大作中提到】
: 这回应该对了
: select *
: from t_rates a
: join t_rates b
: on
: a.ref1 = b.ref1
: and a.ref2 = b.ref2
: where a.cust_num is not null
: and (
: a.rate > .5

j****s
发帖数: 881
8
不会吧,交流面试题,互利互惠,繁荣版面还要发包子啊?

【在 B*****g 的大作中提到】
: 答这个题有包子吗?
B*****g
发帖数: 34098
9
不愿动脑子,赫赫。

【在 j****s 的大作中提到】
: 不会吧,交流面试题,互利互惠,繁荣版面还要发包子啊?
k*****n
发帖数: 361
10
你面的是啥职位???
developer or DBA?
好像我就一年的analyst也能答出来..


【在 j****s 的大作中提到】
: 多谢了,包子已发。
: 还有一个小题答完之后才知道错了,其实很简单,就是insert values的时候,先要
: insert into dimension table,再insert into fact table。我当时没有留意,匆忙做
: 了。

相关主题
我的这句MySQL哪里错了吗?难。想了一天了。大牛请进。
change year format in Access by SQL query (转载)请教:SQL面试题。
Re: [转载] what's the equivalent of 'minus' (oracle) in access?问个SQL问题
进入Database版参与讨论
B*****g
发帖数: 34098
11
你解释一下你的sql得到什么结果。

【在 k*****n 的大作中提到】
: 你面的是啥职位???
: developer or DBA?
: 好像我就一年的analyst也能答出来..
: .

k*****n
发帖数: 361
12
俺凭感觉来的....
两张表用这个条件join起来
a.ref1 = b.ref1
and a.ref2 = b.ref2
然后再选出符合下面三个条件的
1. a.cust_num is not null
2.
rate > .5
or a.rate < 0
3.
a.BEG_DT between b.BEG_DT and b.END_DT
or
a.END_DT between b.BEG_DT and b.END_DT
)
其实join on 的条件和where等价,但是join on的条件应该是两个表最基本的
priority/forgien key连接,其余的用where来限制,这个事我自己琢磨出来的...
请大牛指教...
B*****g
发帖数: 34098
13
sql是为了得出结果,你sql的结果是什么意义?

【在 k*****n 的大作中提到】
: 俺凭感觉来的....
: 两张表用这个条件join起来
: a.ref1 = b.ref1
: and a.ref2 = b.ref2
: 然后再选出符合下面三个条件的
: 1. a.cust_num is not null
: 2.
: rate > .5
: or a.rate < 0
: 3.

k*****n
发帖数: 361
14
这个要把实际的表贴出来...
不知道大牛到底是问啥...肯定在trick我...

【在 B*****g 的大作中提到】
: sql是为了得出结果,你sql的结果是什么意义?
g***l
发帖数: 18555
15
用OR的时候注意加括号,太乱就不看了。
k*****n
发帖数: 361
16
昨天看电影时想到的,觉得这两个条件还是应该放在join on里面,因为涉及到两个表
。。。
and a.BEG_DT between b.BEG_DT and b.END_DT
and a.END_DT between b.BEG_DT and b.END_DT
1 (共1页)
进入Database版参与讨论
相关主题
问一个关于SQL的问题PIVOT, 请大拿,帮我debug
SQL Server query 一问我的这句MySQL哪里错了吗?
有趣的Join问题,源于SQL和SAS比较。change year format in Access by SQL query (转载)
rsArray 为啥写不全? (转载)Re: [转载] what's the equivalent of 'minus' (oracle) in access?
[转载] Can anyone interpret this simple SQL?难。想了一天了。大牛请进。
菜鸟问.asp 里的select语句在基于SQL sever和Access语法上的不请教:SQL面试题。
better solution for cross table query in sql?问个SQL问题
Urgent SQL problem!aks a simple SQL question
相关话题的讨论汇总
话题: dt话题: rates话题: between话题: join话题: where