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