代码之家  ›  专栏  ›  技术社区  ›  Kauê Zuquetto

ModelSearch中的内部连接YII2

  •  0
  • Kauê Zuquetto  · 技术社区  · 9 年前

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

        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 回复  |  直到 9 年前
        1
  •  1
  •   theDbGuy    9 年前

    您的查询应该是这样的

    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]``
    

    确保您有权相互访问数据库