如果我有兩個表 - Table_A
和Table_B
- 如果我使用LEFT JOIN
加入他們,我怎麼纔可以過濾來自Table_B
與在Table_A
行不止一次參加這些行?
DB味:Teradata的LEFT JOIN過濾
1
A
回答
1
如果我沒有記錯的Teradata支持窗口的功能,所以這可能會奏效:
select *
from (
select a.*,
b.*
count(*) over (partition by a.MyCol) as cnt
from Table_A a
left join Table_B b ON a.MyCol = b.MyCol
where ... -- Conditions
) t
where cnt > 1
(未測試)
+0
完美!而已!謝謝! – Adam 2013-03-25 09:47:18
0
可能是幫助你
1) you can used INNER JOIN .
2) you can also check joind row is not null or blank .
0
Select a.*,b.* from Table_A a
left join Table_B b on condition
HAVING COUNT(DISTINCT a.value)>1
作出必要的修改和檢查
+0
不工作..... – Adam 2013-03-25 09:34:49
1
這是你接受的答案的一個特定的Teradata版本:
select a.*,
b.*
from Table_A a
left join Table_B b
ON a.MyCol = b.MyCol
where ... -- Conditions
QUALIFY count(*) over (partition by a.MyCol) > 1
注意QUALIFY
是Teradata數據擴展ANSI標準(而且是一個方便的一個)。
相關問題
- 1. SQL/PHP如何使用LEFT JOIN進行過濾?
- 2. 使用LEFT OUTER JOIN或反加入的BigQuery過濾器
- 3. LINQ to SQL的LEFT OUTER JOIN - 過濾空結果
- 4. CROSS JOIN過濾器
- 5. Fluent Nhibernate left join
- 6. left join optional table
- 7. LINQ - LEFT JOIN
- 8. EF1 SelectMany()left join
- 9. LEFT JOIN using OR
- 10. LEFT OUTER JOIN
- 11. LEFT OUTER JOIN
- 12. SQL Server LEFT JOIN
- 13. MySQL的:LEFT JOIN
- 14. LEFT JOIN(mysql)
- 15. vb.net LINQ LEFT JOIN
- 16. LEFT JOIN在笨
- 17. LEFT OUTER JOIN
- 18. LEFT JOIN在LINQ
- 19. COUNT(*)和LEFT JOIN
- 20. left join queryBuilder symfony3
- 21. LINQ Inner-Join vs Left-Join
- 22. 優化JOIN與LEFT JOIN
- 23. 結合INNER JOIN和LEFT JOIN
- 24. LEFT JOIN(OUTER JOIN)與INNER JOIN的條件
- 25. 的MySQL LEFT JOIN花費過多時間
- 26. 錯誤LINQ LEFT JOIN
- 27. Django LEFT JOIN,高效?
- 28. 優化mySQL LEFT JOIN
- 29. LEFT JOIN MySQL和PHP
- 30. sql confusion LEFT JOIN = BETWEEN
你的意思是GROUP BY? – 2013-03-25 08:59:17
GROUP BY和HAVING count()> 1 – kufudo 2013-03-25 09:01:04
對不起,我必須糾正這個問題 - 我必須從參與連接的Table_B中過濾所有的行不止一次 – Adam 2013-03-25 09:01:32