我有两张桌子
T1
movieid showdate
1001 2011-05-23
1002 2011-05-23
1001 2011-05-23
1003 2011-05-23
1001 2011-05-22
1003 2011-05-22
1001 2011-05-22
T2
movieid moviename
1001 saanu
1002 ambika
1003 sarah
1004 hello
我希望结果为
moviename
saanu
日期为2011-05-22
moviename
saanu
ambika
sarah
当showdate介于2011-05-22和2011-05-23之间
答案 0 :(得分:1)
你可以JOIN
两个表
通过使用联接,您可以检索数据 来自两个或多个基于的表 之间的逻辑关系 表。加入表明微软如何 SQL Server应该使用一个数据 用于选择另一行中的行的表 表
连接条件定义了第二种方式 表通过以下方式与查询相关:
指定要用于连接的每个表中的列。一个 典型的连接条件指定a 来自一个表的外键及其 另一个表中的关联键。
指定要使用的逻辑运算符(例如,=或<>,) 比较列中的值。
声明
SELECT DISTINCT moviename
FROM t2
INNER JOIN t1 ON t1.movieid = t2.movieid
WHERE t1.showdate = '2011-05-22'
和
SELECT DISTINCT moviename
FROM t2
INNER JOIN t1 ON t1.movieid = t2.movieid
WHERE t1.showdate BETWEEN '2011-05-22' AND '2011-05-23'
就足够了
答案 1 :(得分:0)
好的,你可能想要使用AND / OR查看JOINS和WHERE语句。
例如
SELECT * FROM t2
INNER JOIN t1 ON t2.movieid = t1.moveid
WHERE (showdate = '2011-May-22 and moviename = 'saanu') OR (showdate between '2011-May-22' AND '2011-May-23')
答案 2 :(得分:0)
SELECT t1.movie_name
FROM t1, t2
WHERE t1.movieid = t2.movieid
AND t1.showdate = to_date('2011-05-22','YYYY-MM-DD')
OR t1.showdate BETWEEN to_date('2011-05-22','YYYY-MM-DD') AND to_date('2011-05-23','YYYY-MM-DD')
答案 3 :(得分:0)
1
select moviename from t2 join t1 on t1.movieid=t2.movieid and showdate='2011-05-22'
其中moviename ='saanu'
2
select moviename from t2 join t1 on t1.movieid=t2.movieid and showdate between '2011-05-22' and '2011-05-23'