【发布时间】:2021-02-20 08:11:02
【问题描述】:
我是 typeorm 的新手,也许有人可以解决我的问题。 我有这个查询,需要将其格式化为 TypeORM :
SELECT DISTINCT
Municipios.Descricao AS Cidade
,Municipios.Estado
,Municipios.CodigoMunicipio
,EmpresaUnidades.CNPJ
,Empresa.MaximoHorasExtras
,EmpresaUnidades.CodigoEmpresa
,UnidadesCidadeAtendimento.ValorTaxaEntrega
,UnidadesCidadeAtendimento.ValorTaxaDevolucao
,UnidadesCidadeAtendimento.PercTaxaAdministrativa
,UnidadesCidadeAtendimento.SobConsulta
,UnidadesCidadeAtendimento.CodigoTipoDiversoTaxaEntrega
,UnidadesCidadeAtendimento.CodigoTipoDiversoTaxaDevolucao
,EmpresaUnidades.CodigoMunicipio AS CodigoMunicipioEmpresa
FROM UnidadesCidadeAtendimento
INNER JOIN Municipios ON UnidadesCidadeAtendimento.CodigoMunicipio = Municipios.CodigoMunicipio
INNER JOIN EmpresaUnidades ON UnidadesCidadeAtendimento.CodigoUnidade = EmpresaUnidades.CodigoUnidade
AND UnidadesCidadeAtendimento.CodigoEmpresa = EmpresaUnidades.CodigoEmpresa
INNER JOIN Empresa ON EmpresaUnidades.CodigoEmpresa = Empresa.CodigoEmpresa
WHERE (EmpresaUnidades.Ativa = 'S')
AND (UnidadesCidadeAtendimento.Ativa = 'S')
AND (EmpresaUnidades.ExibirUnidadeAppReserva = 'S')
ORDER BY Municipios.Descricao
这是我的尝试:
await this.createQueryBuilder('UnidadesCidadeAtendimento')
.addSelect('Municipios.Descricao AS Cidade')
.addSelect('Municipios.Estado')
.addSelect('Municipios.CodigoMunicipio')
.addSelect('EmpresaUnidades.CNPJ')
.addSelect('Empresa.MaximoHorasExtras')
.addSelect('EmpresaUnidades.CodigoEmpresa')
.addSelect('UnidadesCidadeAtendimento.ValorTaxaEntrega')
.addSelect('UnidadesCidadeAtendimento.ValorTaxaDevolucao')
.addSelect('UnidadesCidadeAtendimento.PercTaxaAdministrativa')
.addSelect('UnidadesCidadeAtendimento.SobConsulta')
.addSelect('UnidadesCidadeAtendimento.CodigoTipoDiversoTaxaEntrega')
.addSelect('UnidadesCidadeAtendimento.CodigoTipoDiversoTaxaDevolucao')
.addSelect('EmpresaUnidades.CodigoMunicipio AS CodigoMunicipioEmpresa')
.innerJoin('Municipios', 'UnidadesCidadeAtendimento.CodigoMunicipio = Municipios.CodigoMunicipio')
.innerJoin('EmpresaUnidades', 'UnidadesCidadeAtendimento.CodigoUnidade = EmpresaUnidades.CodigoUnidade')
.innerJoin('EmpresaUnidades', 'UnidadesCidadeAtendimento.CodigoEmpresa = EmpresaUnidades.CodigoEmpresa')
.innerJoin('Empresa', 'EmpresaUnidades.CodigoEmpresa = Empresa.CodigoEmpresa')
.where('EmpresaUnidades.Ativa = S')
.distinct(true)
.orderBy('Municipios.Estado', 'ASC')
.getMany();
我收到以下回复: "error": "错误:关键字 'WHERE' 附近的语法不正确。"
但我找不到语法错误。
谁能帮帮我?
【问题讨论】:
-
从你的问题中不清楚,“this”是什么。
-
我认为问题出在此处:.where('EmpresaUnidades.Ativa = S')。您必须使用 'S' 而不是 S'
标签: node.js sql-server typeorm