我想在csv中导出这个数据组合,我已经完成了,没关系,但只有一件事与我的想法不符。
如果选择amm.atc\u tiposocieta,它将始终返回空字段,即使关系正确且表已正确填充。
查询:
SET SESSION group_concat_max_len=9999999;
SELECT pre.cq_IDCessione,null,pre.cq_IDCliente,pre.cq_IDSocieta,pre.cq_IDFigura, CASE
WHEN (STRCMP(amm.atc_TipoSocieta, 'Ditta Individuale') = 0) THEN 4
WHEN (STRCMP(amm.atc_TipoSocieta, 'Ente') = 0) OR (STRCMP(amm.atc_TipoSocieta, 'Ente Pubblico') = 0) OR (STRCMP(amm.atc_TipoSocieta, 'Ente Statale') = 0) OR (STRCMP(amm.atc_TipoSocieta, 'Pubblica') = 0) THEN 3
WHEN (STRCMP(amm.atc_TipoSocieta, 'Ente Parapubblico') = 0) THEN 5
WHEN (STRCMP(amm.atc_TipoSocieta, 'Ministeriale') = 0) THEN 2
ELSE 1
END,null,(select CONCAT( '[',
GROUP_CONCAT(JSON_OBJECT('id', cliente.id, 'nome', cliente.nome, 'cognome', cliente.cognome, 'amm_id', cliente.amm_id, 'user_id', cliente.user_id, 'sesso', cliente.sesso, 'codice_fiscale', cliente.codice_fiscale, 'data_nascita', cliente.data_nascita, 'cittadinanza', cliente.cittadinanza, 'telefono', cliente.telefono, 'cellulare', cliente.cellulare, 'email', cliente.email, 'luogoNascita', cliente.luogoNascita, 'luogoResidenza', cliente.luogoResidenza, 'indirizzoResidenza', cliente.indirizzoResidenza, 'cap', cliente.cap, 'indirizzo_domicilio', cliente.indirizzo_domicilio, 'localita_domicilio', cliente.localita_domicilio, 'cap_domicilio', cliente.cap_domicilio, 'stato_civile', cliente.stato_civile, 'tipo_documento', cliente.tipo_documento, 'doc_localita_rilascio', cliente.doc_localita_rilascio, 'doc_data_rilascio', cliente.doc_data_rilascio, 'doc_data_scadenza', cliente.doc_data_scadenza, 'doc_ente_rilascio', cliente.doc_ente_rilascio, 'doc_numero', cliente.doc_numero, 'tipo_permesso', cliente.tipo_permesso, 'data_scadenza_permesso', cliente.data_scadenza_permesso, 'data_inizio_soggiorno', cliente.data_inizio_soggiorno, 'qualifica', cliente.qualifica, 'tipo_assunzione', cliente.tipo_assunzione, 'data_assunzione', cliente.data_assunzione, 'fondo_pensione', cliente.fondo_pensione, 'id_stipendio_spt', cliente.id_stipendio_spt, 'tfr_lordo', cliente.tfr_lordo, 'tfr_anticipi', cliente.tfr_anticipi, 'mese_anno_cedolino', cliente.mese_anno_cedolino, 'partita_iva', cliente.partita_iva, 'reddito', cliente.reddito, 'altri_impegni', cliente.altri_impegni, 'scadenze', cliente.scadenze, 'mod_invio_com', cliente.mod_invio_com, 'fondo_pensione_1', cliente.fondo_pensione_1, 'fondo_pensione_1_bool', cliente.fondo_pensione_1_bool, 'fondo_pensione_2', cliente.fondo_pensione_2, 'fondo_pensione_2_bool', cliente.fondo_pensione_2_bool))
,']')
from assiprest_produzione.cliente
where pre.cq_IDCliente = assiprest_produzione.cliente.id
),cli.data_assunzione,null,pre.cq_DataCaricamento,pre.cq_DataAnteTermine,cli.altri_impegni,null,cli.reddito,pre.cq_NumeroRate,pre.cq_ImportoRata,pre.cq_ProvvMontanteFG1,users.fdv_PPProvvInteressi,null,null,null,null,null,3
FROM (((assiprest_original.cessioni as pre
LEFT JOIN assiprest_original.atc AS amm ON pre.cq_IDSocieta = amm.atc_IDAtc)
LEFT JOIN assiprest_original.figuredivendita AS users ON users.fdv_IDFigura = pre.cq_IDFigura)
LEFT JOIN assiprest_produzione.cliente AS cli ON cli.id = pre.cq_IDCliente)
INTO OUTFILE 'C:/xampp/mysql/data/assiprest/preventivatore.csv'
FIELDS TERMINATED BY ';'
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
编辑:
我更新了代码并“解决”了amm.atc\u tiposocieta问题,删除了相关的左连接并将其添加到from子句,但这样做之后,我又回到了预览问题,即:“on子句”中的未知列pre.cq\u idfigura。
代码:
SET SESSION group_concat_max_len=9999999;
SELECT pre.cq_IDCessione,null,pre.cq_IDCliente,pre.cq_IDSocieta,pre.cq_IDFigura, CASE
WHEN (STRCMP(amm.atc_TipoSocieta, 'Ditta Individuale') = 0) THEN 4
WHEN (STRCMP(amm.atc_TipoSocieta, 'Ente') = 0) OR (STRCMP(amm.atc_TipoSocieta, 'Ente Pubblico') = 0) OR (STRCMP(amm.atc_TipoSocieta, 'Ente Statale') = 0) OR (STRCMP(amm.atc_TipoSocieta, 'Pubblica') = 0) THEN 3
WHEN (STRCMP(amm.atc_TipoSocieta, 'Ente Parapubblico') = 0) THEN 5
WHEN (STRCMP(amm.atc_TipoSocieta, 'Ministeriale') = 0) THEN 2
ELSE 1
END,null,(select CONCAT( '[',
GROUP_CONCAT(JSON_OBJECT('id', cliente.id, 'nome', cliente.nome, 'cognome', cliente.cognome, 'amm_id', cliente.amm_id, 'user_id', cliente.user_id, 'sesso', cliente.sesso, 'codice_fiscale', cliente.codice_fiscale, 'data_nascita', cliente.data_nascita, 'cittadinanza', cliente.cittadinanza, 'telefono', cliente.telefono, 'cellulare', cliente.cellulare, 'email', cliente.email, 'luogoNascita', cliente.luogoNascita, 'luogoResidenza', cliente.luogoResidenza, 'indirizzoResidenza', cliente.indirizzoResidenza, 'cap', cliente.cap, 'indirizzo_domicilio', cliente.indirizzo_domicilio, 'localita_domicilio', cliente.localita_domicilio, 'cap_domicilio', cliente.cap_domicilio, 'stato_civile', cliente.stato_civile, 'tipo_documento', cliente.tipo_documento, 'doc_localita_rilascio', cliente.doc_localita_rilascio, 'doc_data_rilascio', cliente.doc_data_rilascio, 'doc_data_scadenza', cliente.doc_data_scadenza, 'doc_ente_rilascio', cliente.doc_ente_rilascio, 'doc_numero', cliente.doc_numero, 'tipo_permesso', cliente.tipo_permesso, 'data_scadenza_permesso', cliente.data_scadenza_permesso, 'data_inizio_soggiorno', cliente.data_inizio_soggiorno, 'qualifica', cliente.qualifica, 'tipo_assunzione', cliente.tipo_assunzione, 'data_assunzione', cliente.data_assunzione, 'fondo_pensione', cliente.fondo_pensione, 'id_stipendio_spt', cliente.id_stipendio_spt, 'tfr_lordo', cliente.tfr_lordo, 'tfr_anticipi', cliente.tfr_anticipi, 'mese_anno_cedolino', cliente.mese_anno_cedolino, 'partita_iva', cliente.partita_iva, 'reddito', cliente.reddito, 'altri_impegni', cliente.altri_impegni, 'scadenze', cliente.scadenze, 'mod_invio_com', cliente.mod_invio_com, 'fondo_pensione_1', cliente.fondo_pensione_1, 'fondo_pensione_1_bool', cliente.fondo_pensione_1_bool, 'fondo_pensione_2', cliente.fondo_pensione_2, 'fondo_pensione_2_bool', cliente.fondo_pensione_2_bool))
,']')
from assiprest_produzione.cliente
where pre.cq_IDCliente = assiprest_produzione.cliente.id
),cli.data_assunzione,null,pre.cq_DataCaricamento,pre.cq_DataAnteTermine,cli.altri_impegni,null,cli.reddito,pre.cq_NumeroRate,pre.cq_ImportoRata,pre.cq_ProvvMontanteFG1,users.fdv_PPProvvInteressi,null,null,null,null,null,3
FROM assiprest_original.cessioni as pre, assiprest_original.atc as amm
LEFT JOIN assiprest_original.figuredivendita AS users ON users.fdv_IDFigura = pre.cq_IDFigura
LEFT JOIN assiprest_produzione.cliente AS cli ON cli.id = pre.cq_IDCliente
GROUP BY pre.cq_IDCessione
INTO OUTFILE 'C:/xampp/mysql/data/assiprest/preventivatore.csv'
FIELDS TERMINATED BY ';'
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
1条答案
按热度按时间9vw9lbht1#
单看sql很难说,但我突然想到的一点是,第一个case when语句使用的是不同的表前缀。这能起作用吗?
当(strcmp(assi.atc\u tiposocieta,'ditta individuale')=0)然后4当(strcmp(amm.atc\u tiposocieta,'ente')=0)或。。。