INNER在ModelSearch中加入YII2

时间:2017-08-02 13:44:34

标签: sql yii2 inner-join

我想在我的模型搜索中实现此查询:

    SELECT 
         van.[ID_VANTIVE]
        ,van.[ID_VANTIVE_ANTIGO]
        ,van.[STATUS]
        ,van.[NUM_LP]
        ,van.[CLIENTE]
        ,van.[ENDERECO_TIPO]
        ,van.[ENDERECO]
        ,van.[ENDERECO_NUM]
        ,van.[ENDERECO_COMPLEMENTO]
        ,van.[CEP]
        ,van.[ENDERECO_MUNICIPIO]
        ,van.[ESTADO]
        ,van.[ESTADO_COD]
        ,van.[PRODUTO]
        ,van.[VELOCIDADE_ACESSO]
        ,van.[CodCliente]
        ,van.[tipo_saida_atend]
        ,van.[CAR_COD_GRUPO]
        ,van.[CAR_GRUPO]
        ,van.[CAR_RAZAO_SOCIAL]
        ,van.[CAR_SEGMENTO_CATEGORIA]
        ,van.[CAR_SEGMENTO_VALOR]
        ,van.[CAR_SERVICE_MANAGER]
        ,van.[CAR_LIDER_POS_VENDAS]
        ,van.[CAR_COORDENADOR_POS_VENDAS]
        ,van.[CAR_GERENTE_POS_VENDAS]
        ,van.[TIPO_SMART]
        ,n.[NodeID]
        ,n.[IP_Address]
        ,n.[Country]
        ,n.[Nome_do_cliente]
        ,n.[Nome_do_device]
        ,n.[Nome_do_site]
        ,n.[Operação]
        ,n.[Operadora]
        ,n.[Pacote_Smart]
    FROM [VANTIVE].[dbo].[TABELACO] AS van
    INNER JOIN [SOLARWINDS].[dbo].[TB_NODES_SMART] AS n
    ON van.[ID_VANTIVE] = n.[NodeID]

我的搜索:

public function search($params)
{
    $query = TABELACO::find();

强调查询除了在两个表之间之外,还有两个数据库。

我尝试了几种方法,但没有成功,请有人帮助我

1 个答案:

答案 0 :(得分:1)

您的查询应该像

注意:UR执行时编辑UR DB名称

USE 
**[THE DATABASE NAME1]**
GO

 SELECT 
         van.[ID_VANTIVE]
        ,van.[ID_VANTIVE_ANTIGO]
        ,van.[STATUS]
        ,van.[NUM_LP]
        ,van.[CLIENTE]
        ,van.[ENDERECO_TIPO]
        ,van.[ENDERECO]
        ,van.[ENDERECO_NUM]
        ,van.[ENDERECO_COMPLEMENTO]
        ,van.[CEP]
        ,van.[ENDERECO_MUNICIPIO]
        ,van.[ESTADO]
        ,van.[ESTADO_COD]
        ,van.[PRODUTO]
        ,van.[VELOCIDADE_ACESSO]
        ,van.[CodCliente]
        ,van.[tipo_saida_atend]
        ,van.[CAR_COD_GRUPO]
        ,van.[CAR_GRUPO]
        ,van.[CAR_RAZAO_SOCIAL]
        ,van.[CAR_SEGMENTO_CATEGORIA]
        ,van.[CAR_SEGMENTO_VALOR]
        ,van.[CAR_SERVICE_MANAGER]
        ,van.[CAR_LIDER_POS_VENDAS]
        ,van.[CAR_COORDENADOR_POS_VENDAS]
        ,van.[CAR_GERENTE_POS_VENDAS]
        ,van.[TIPO_SMART]
        ,n.[NodeID]
        ,n.[IP_Address]
        ,n.[Country]
        ,n.[Nome_do_cliente]
        ,n.[Nome_do_device]
        ,n.[Nome_do_site]
        ,n.[Operação]
        ,n.[Operadora]
        ,n.[Pacote_Smart]
    FROM **[THE DATABASE NAME1]**. [VANTIVE].[dbo].[TABELACO] AS van
    INNER JOIN **[THE DATABASE NAME2]**. [SOLARWINDS].[dbo].[TB_NODES_SMART] AS n
    ON van.[ID_VANTIVE] = n.[NodeID]``

确保您有权从彼此访问数据库