【发布时间】:2011-09-12 10:39:48
【问题描述】:
我必须数据库表,其中第一个表的实体在第二个表中可能有也可能没有关联条目:
Table 1 Table 2
+-----+-----+ +-----+-------+-------+
| ID | ... | | ID | T1_ID | NAME |
+-----+-----+ +-----+-------+-------+
| 1 | ... | | 1 | 1 | p1 |
| 2 | ... | | 2 | 1 | p2 |
| 3 | ... | | 3 | 2 | p1 |
| 4 | ... | +-----+-------+-------+
+-----+-----+
我需要运行以下查询:
使用 Table_2 的特定条目获取 Table_1 的所有实体 - 这很简单,一个简单的 Join 就可以了...
获取 Table_1 的所有实体,这些实体没有关联 Table_2 的特定条目 - 不是那么容易,但我也设法通过连接查询。
获取 Table_1 的所有实体,这些实体具有特定条目 (A) 并且没有关联的另一个特定条目 (B),即获取 Table_1 的所有实体,它们具有 Table_2 的实体 name=p1 和没有关联 name=p2 的 Table_2 实体。
是否可以在没有子查询的情况下在单个 sql 语句中完成 (3) 中的那种查询?
【问题讨论】:
-
这不是一个“让别人为你做你的工作”的论坛。但是,如果您想这样做,您至少可以提供示例数据并采样所需的输出。
-
嗯,最简单的情况下,我只想获取表1对应的ID。我上面的示例数据是不是不够?
-
@user655145,你能分享第2点的查询吗?