【问题标题】:how to draw data from multiple tables?如何从多个表中提取数据?
【发布时间】:2018-10-12 09:59:19
【问题描述】:

我有 2 张不同的桌子。我需要从表 1 中的 TMK 表中获取名称,如下所示,我需要从我的第二个表中获取总数。我不能写加入。你能帮帮我吗

TMK 表;

| tmkName | 

| George  |

| Jacob   |

flowNewStatus 表;

|statusId|

| 1 |

| 2 |

如果乔治的状态是第一,我想加入

| tmkName |  |statusId|
| George  |    | 1 |

【问题讨论】:

  • 如果你的表只有一列,你是如何定义关系的?
  • @Chanukya 如果运行语句INSERT INTO TMK VALUES ('Dave'); 会发生什么?乔治的状态应该变成2吗? (另外,评论不是答案的正确位置)
  • @Larnu 用于现有数据设置,我没有提供新插入
  • @Chanukya 我的观点是假设 OP 的数据永远不会改变是一个糟糕的假设。
  • @Larnu 是的,正确,为什么我们需要进行不必要的讨论被问到问题的人没有回应让我们关闭它

标签: sql-server database join sql-server-2014


【解决方案1】:

在获取可能的 SQL 查询之前...从您显示的表中,您需要一个将 personstatus 相关联的附加表,即 join 表.本质上是一个 TMK_status 表:

TMK_status 表

| personID | statusID |
|----------|----------|
|    1     |    1     |
|    2     |    3     |
|    3     |    1     |

另外,statusID 可以存储为 TMK 的列,因此,

TMK 表

| personID | tmkName  | statusID |
|----------|----------|----------|
|    1     |  George  |    1     |
|    2     |  Jacob   |    3     |

如果“我不能写加入”,你的意思是你不知道怎么做,检查这个答案:What is the difference between "INNER JOIN" and "OUTER JOIN"? - 你需要一个inner加入。

另一方面,如果您的意思是不能使用join 语句,那么您可以编写subselect 语句。可能还有其他解决方案,但它们取决于您决定如何加入/关联这 2 个表。

【讨论】:

  • 请不要回答不清楚的问题。它弄得一团糟。评论要求进行澄清的编辑。如果您没有代表,请等待。
猜你喜欢
  • 2023-02-24
  • 1970-01-01
  • 2018-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-19
  • 1970-01-01
相关资源
最近更新 更多