【发布时间】:2018-12-05 20:11:48
【问题描述】:
我很难为这个问题选择一个标题。我不确定它是否准确地描述了我想要的东西,所以如果你能帮助改进标题而不是投反对票,我将不胜感激。 :)
我有以下(示例)表格:
USERS:
+----------+
| id |
+----------+
| 1 |
------------
| 3 |
------------
| 4 |
+----------+
URLS:
+----------+----------+
| id | url |
+----------+----------+
| 1 | a.com |
-----------------------
| 1 | b.com |
-----------------------
| 1 | d.com |
-----------------------
| 2 | a.com |
-----------------------
| 2 | e.com |
-----------------------
| 3 | a.com |
-----------------------
| 3 | e.com |
-----------------------
| 3 | f.com |
-----------------------
| 3 | g.com |
-----------------------
| 4 | a.com |
-----------------------
| 4 | e.com |
+----------+----------+
我想从URLS 中选择与USERS 中至少两个ID 相对应的所有URL。因此,例如,使用这些示例表进行此类查询的结果:
+----------+
| url |
+----------+
| a.com | <- associated with ids: 1, 3, 4
------------
| e.com | <- associated with ids: 3, 4
+----------+
如您所见,例如,b.com 与 1 相关联,后者位于 USERS 表中。但是,因为它与 USERS 中的任何其他 id 都没有关联,所以它不在结果中。我怎样才能做到这一点?
【问题讨论】:
-
您可以根据需要使用 STUFF()。
-
@ZekiGumus - 你能详细说明一下吗?
-
我正在准备样品
-
只需在表之间进行内部连接,以限制用户中具有匹配 ID 的记录,然后 GROUP BY url 和 HAVING COUNT(1) > 1。只需查找 HAVING 子句,它就会变得明显。
-
SO 不是免费的编码服务网站。你试过什么???发布您的查询。如果您还没有尝试过任何事情,那就开始工作吧。
标签: sql sql-server