Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 显示具有内部联接的不同表中的不同列_Sql - Fatal编程技术网

Sql 显示具有内部联接的不同表中的不同列

Sql 显示具有内部联接的不同表中的不同列,sql,Sql,嗨,我在一个查询中有很多内部数据,但我不能在不同的表中打印列,例如: 在哪里 我的代码: select A.id,A.F from (query1)as stima join (select B.name,B.code from B as aaaa query)as noome on noome.code=stima.F; 但如果我想把B表的名称列放在“selecta.id,A.F”中,我该怎么做呢? 我的输出是id和column F,但我需要输出:id、F和name列。您可以使用from子句

嗨,我在一个查询中有很多内部数据,但我不能在不同的表中打印列,例如: 在哪里

我的代码:

select A.id,A.F from (query1)as stima
join
(select B.name,B.code from B as aaaa query)as noome
on noome.code=stima.F;
但如果我想把B表的名称列放在“selecta.id,A.F”中,我该怎么做呢?
我的输出是id和column F,但我需要输出:id、F和name列。

您可以使用from子句表中的任何列

我想你需要这个:

select A.id,A.F, noome.name -- this
from (query1)as stima
join
(select B.name,B.code from B as aaaa query)as noome
on noome.code=stima.F;

可以使用from子句表中的任何列

我想你需要这个:

select A.id,A.F, noome.name -- this
from (query1)as stima
join
(select B.name,B.code from B as aaaa query)as noome
on noome.code=stima.F;

每当您在内部查询中有一列要在外部查询中使用时,必须确保内部查询选择该列。然后,它将成为查询块的一部分,并使用您为其指定的新别名:

SELECT
  a.Name,
  a.SomethingElse,
  b.ColumnX,
  b.ColumnYYY
FROM
  (
    SELECT c.Name, d.SomethingElse FROM c JOIN d ON ..
  ) a
  JOIN
  (
    SELECT e.ColumnX, f.ColY as ColumnYYY FROM e JOIN f ON ..
  ) b
当它们在内部查询中时,列类似于
d.SomethingElse
f.ColY
,但当它们从这些括号外经过时,它们会得到一个新的别名,因为它们是数据块的一部分,数据块的别名为
a
b
,因此您不再将它们称为内部名称。。特别是在
f.ColY
的情况下,它被重命名为
columnyy
,并且还被赋予了一个新的“表”别名
b


任何时候,当内部查询中有一列要在外部查询中使用时,都必须确保内部查询选择该列。然后,它将成为查询块的一部分,并使用您为其指定的新别名:

SELECT
  a.Name,
  a.SomethingElse,
  b.ColumnX,
  b.ColumnYYY
FROM
  (
    SELECT c.Name, d.SomethingElse FROM c JOIN d ON ..
  ) a
  JOIN
  (
    SELECT e.ColumnX, f.ColY as ColumnYYY FROM e JOIN f ON ..
  ) b
当它们在内部查询中时,列类似于
d.SomethingElse
f.ColY
,但当它们从这些括号外经过时,它们会得到一个新的别名,因为它们是数据块的一部分,数据块的别名为
a
b
,因此您不再将它们称为内部名称。。特别是在
f.ColY
的情况下,它被重命名为
columnyy
,并且还被赋予了一个新的“表”别名
b


我从未以这种方式使用过表重命名。非常感谢。它帮助我不再把它们看作表,而是把它们看作“有行有列的数据块”——大部分数据都是从表中开始的,就像我上面的查询中的C和D一样,也许C有10列,D有5列,但随后它就被连接起来了,只选择了2列,因此13列消失了,现在不再有C和D,只有一个新的数据块,称为a,有两列。。就这样继续下去。。这是“全部只是数据块”-连接使块变宽,联合使块变高,WHERE使块变短,SELECT使块变窄:)我从未以这种方式使用过表重命名。非常感谢。它帮助我不再把它们看作表,而是把它们看作“有行有列的数据块”——大部分数据都是从表中开始的,就像我上面的查询中的C和D一样,也许C有10列,D有5列,但随后它就被连接起来了,只选择了2列,因此13列消失了,现在不再有C和D,只有一个新的数据块,称为a,有两列。。就这样继续下去。。这是“所有数据块”-连接使块变宽,联合使块变高,而选择使块变短:)