0

私は次のSQLを持っていますが、現時点ではこれを変換できません。サブセレクトのギリギリで止まってしまいました。誰でも私を助けることができますか?

select( select p2.numnfe from xml_itens as p2
where p2.cod_prod_cli is null
and p2.ean_prod = p1.ean_prod
and p2.cnpj_for = p1.cnpj_for
and p2.cod_prod_for = p1.cod_prod_for
and p2.cfop != 5929 and 6929
LIMIT 1
) as num_nfe,
(SELECT descricao_prod from xml_itens as p2
where p2.cod_prod_cli is null
and p2.ean_prod = p1.ean_prod
and p2.cnpj_for = p1.cnpj_for
and p2.cod_prod_for = p1.cod_prod_for
and p2.cfop != 5929 and 6929
LIMIT 1
) as descricao_prod, 
cnpj_for, ean_prod, cod_prod_for, cod_prod_cli
from xml_itens as p1 
where cod_prod_cli is null
and p1.cfop != 5929 and 6929 
group by cnpj_for, ean_prod, cod_prod_for;

なんとかやり遂げましたが、間に合わず、データベースから 1 つのレコードしか返されませんでした。

 String sql = "select ("
            + " select p2.numnfe from XmlItens p2 where p2.codProdCli is null and p2.eanProd = p1.eanProd and p2.cnpjFor = p1.cnpjFor and p2.cfop != 5929 and p2.cfop != 6929) as numnfe, "
            + " p1.cnpjFor, p1.eanProd, p1.codProdFor from XmlItens p1 "
            + " where p1.codProdCli is null "
            + " group by p1.cnpjFor, p1.eanProd, p1.codProdFor";

ありがとう

4

2 に答える 2

1

LMIT sql を代用したものは見つかりませんでした。そのため、クエリを変換する代わりに、関数createsqlquery()hibernate を使用したところ、機能しました。

于 2013-10-03T12:41:46.157 に答える