【发布时间】:2019-04-09 10:34:17
【问题描述】:
我正在处理一个查询,我在其中连接两个表,然后只保留特别感兴趣的行。一种这样的条件是只选择在特定列中具有重复值的行。
在这种情况下,数据和值是任意的。 Team1 和 Team2 包含团队名称值,例如“Team Red”、“Team Blue”……等等
SELECT date, team1, team2, value
FROM database.team_table
INNER JOIN database.teaminfo_table ON database.team_table
WHERE
date >= sysdate --example condition
AND
--condition to only take in the specified rows
我怀疑这是否是一种有效的方式来完成我想做的事情。我想知道表达这种情况的正确方法是什么,以及是否有更好的方法来实现它。
预期结果是,假设列 Team A,如果有两个名为“Team Red”的条目,并且列中不再有此类重复项。最终结果应该是两行,每行的 Team A 值为 Team Red。
【问题讨论】:
-
请提供样本数据、所需结果以及您正在使用的数据库的标签。
-
你指的是逻辑
intersection吗?根据您的措辞,您的要求还不是很清楚。你是指JOIN输出,还是WHERE子句过滤你的输出? -
我指的是过滤输出的 WHERE 子句,如果我不清楚,对不起,我的 SQL 目前很不稳定
-
所以您只想返回在表中多次存在相同值组合的行?
-
特别是如果在一列中有重复的值,比如
team1有两行Team Red,我们希望所有行都有这样的值
标签: sql conditional-statements