0
行我有以下表结构:获取与重复值
+----------+---------+
| Trade |
+----------+---------+
| Trade_Id | Book_Id |
+----------+---------+
+---------+-----------+
| Book |
+---------+-----------+
| Book_Id | Book_Name |
+---------+-----------+
+----------+--------------+---------------+
| Keyword |
+----------+--------------+---------------+
| Trade_Id | Keyword_Name | Keyword_Value |
+----------+--------------+---------------+
现在我想要从一个特定的书,有一个特定的重复关键字交易。我有一个查询工作,但我讨厌它,因为我基本上重复where子句中的wohle查询。
select
t.TRADE_ID,
kw.KEYWORD_VALUE
from
trade t
inner join book b on b.BOOK_ID = t.BOOK_ID
and b.BOOK_NAME = 'test123'
inner join TRADE_KEYWORD kw on kw.TRADE_ID = t.TRADE_ID
and kw.KEYWORD_NAME = 'ISIN'
where
kw.KEYWORD_VALUE in (
select
kw2.KEYWORD_VALUE
from
trade t2
inner join book b2 on b2.BOOK_ID = t2.BOOK_ID
and b2.BOOK_NAME = 'test123'
inner join TRADE_KEYWORD kw2 on kw2.TRADE_ID = t2.TRADE_ID
and kw2.KEYWORD_NAME = 'ISIN'
group by kw2.KEYWORD_VALUE
having count (*) > 1)
如何更优雅地做到这一点? 谢谢!
不错!谢谢,以前不知道分析功能。将在4分钟内接受你的答案(仍然锁定) – 2014-11-06 15:19:19