小编Joã*_*rme的帖子

SQL Server - 使用子查询中主查询的列

有没有办法从主查询中实时获取列,并在子查询中使用它?

这样的事情:(在子查询中使用A.item)

SELECT item1, * 
FROM TableA A 
INNER JOIN 
(
    select * 
    from TableB B 
    where A.item = B.item
) on A.x = B.x;
Run Code Online (Sandbox Code Playgroud)

好的,这是真的:

我需要修改这个现有的查询.它以前工作过,但现在数据库发生了变化,我需要做一些修改,添加一些比较.正如您所看到的,有很多JOINS,其中一个是子查询.我需要从一列从主查询(例如从表T0)增加相比,子查询(是这样的:T6.UnionAll_Empresa = T0.UnionALl_Empresa)

Select T0.UnionAll_Empresa,<STUFF>

from [UNION_ALL_BASES]..OINV T0 with (nolock)
inner join [UNION_ALL_BASES]..INV6 T1 with (nolock) on t0.DocEntry = t1.DocEntry and t0.UnionAll_Empresa = t1.UnionAll_Empresa
inner join

(
select 
t1.CompanyID,
T2.CompanyDb,
t1.OurNumber,
T6.BankCode,
T6.BankName,
T3.[Description] Situation,
T1.[Status],
T5.Descrption nomeStatus,
T1.Origin,
T1.DocEntry,
T1.DocType,
T1.ControlKey,
T1.CardCode,
T4.[Description] ContractBank,
T1.PayMethodCode,
T1.DueDate,
T1.DocDate,
T1.InstallmentID,
T1.InstallmentValue,
T1.Correction,
T1.InterestContractural, …
Run Code Online (Sandbox Code Playgroud)

sql sql-server field subquery

37
推荐指数
4
解决办法
8万
查看次数

Mysql - 我应该使用ID列吗?

我对最佳实践以及数据库引擎的工作方式存有疑问.

假设我创建了一个名为Employee的表,其中包含以下列:

  • SS ID(主键)
  • 名称
  • 性别
  • 年龄

事情是..我看到很多数据库都有它的所有表格,aditional列叫做ID,这是一个序列号.我应该把ID字段放在我的桌子上吗?我的意思是,它已经有一个要编制索引的主键.使用顺序ID字段,数据库是否可以更快地运行?我不知道如果我不使用它来链接或研究任何表格它会有什么帮助.

这有帮助吗?如果是这样,为什么,数据库中会发生什么?

谢谢!

编辑-----这只是一个愚蠢的例子.忘记SS_ID,我知道有更好的方法来选择主键.主要的主题是因为我认识的一些人只是要求我添加名为ID的列,即使我知道我们不会将它用于任何SQL查询.他们只是认为它以某种方式帮助数据库的性能,特别是因为像Microsoft Access这样的一些数据库工具总是问我们是否希望它添加这个新列.

这是错的,对吧?

mysql indexing

1
推荐指数
1
解决办法
364
查看次数

标签 统计

field ×1

indexing ×1

mysql ×1

sql ×1

sql-server ×1

subquery ×1