【发布时间】:2020-05-08 00:40:17
【问题描述】:
我对 SQL 很陌生,遇到了这个问题:我想在特定条件下从表 A 中获取所有数据,并根据相同条件的字段从表 B 中获取数据。
我正在处理的数据对工作很敏感,因此我将绘制一个示例表。假设表 A 是一张红色扑克牌(红心和方块),有两个区域:
|-----------+---------|
| card_id | type |
|-----------+---------|
| 1 | heart |
|-----------+---------|
| 2 | heart |
|-----------+---------|
| 3 | diamond |
|-----------+---------|
| 4 | heart |
|-----------+---------|
假设表 B 具有完全相同的结构,但用于黑色扑克牌(梅花和黑桃)。
|-----------+---------|
| card_id | type |
|-----------+---------|
| 1 | club |
|-----------+---------|
| 2 | spade |
|-----------+---------|
| 3 | spade |
|-----------+---------|
| 4 | club |
|-----------+---------|
现在假设我想选择 A 中的每张红心牌,但每当我找到红心时,我也想选择 B 中的所有梅花。
我想伪代码会是这样的:
SELECT * FROM tableA a JOIN tableB b
WHERE a.type = "heart"
(and if tableA.type = "heart",
also SELECT * in tableB where type = "club.")
我希望看到的输出如下
|-----------+---------|
| card_id | type |
|-----------+---------|
| 1 | heart |
|-----------+---------|
| 1 | club |
|-----------+---------|
| 4 | club |
|-----------+---------|
| 2 | heart |
|-----------+---------|
| 1 | club |
|-----------+---------|
| 4 | club |
|-----------+---------|
| 4 | heart |
|-----------+---------|
| 1 | club |
|-----------+---------|
| 4 | club |
|-----------+---------|
抱歉,如果这是一个简单的问题,我找不到与我的这个特定问题相关的任何内容。
【问题讨论】:
-
(1) 用您正在使用的数据库标记您的问题。 (2) 显示你想要的结果。
-
行的顺序重要吗?
-
是的,它们应该看起来像那个顺序
-
哪个版本的 MySQL?