1つの結果を受け取り、その結果を新しいクエリに渡す方法を知りたいのですが。これは私が今持っているものです:
SELECT A.id_buc AS BUC,
A.id_promotor_ALTAIR AS EJECUTIVO
FROM cl_cliente A
WHERE A.id_buc=(SELECT B.id_contrato AS CONTRATO,
B.id_buc AS BUC,
B.fec_apertura AS FECHA
FROM el_contrato B
WHERE B.id_contrato IN (80121221158));
しかし、このクエリは私にエラーをスローします。
クエリには2つの問題があります。
IN
なく、を使用する必要=
があります。したがって、クエリは次のようになります。
SELECT A.id_buc AS BUC,
A.id_promotor_ALTAIR AS EJECUTIVO
FROM cl_cliente A
WHERE A.id_buc IN (SELECT B.id_buc
FROM el_contrato B
WHERE B.id_contrato IN (80121221158));
しかし、このクエリは非常に悪く、ひどく実行されます。を使用して単一のクエリで書き直しJOIN
、必要に応じて両方のテーブルのデータを取得できるとよいでしょう。
SELECT A.id_buc AS BUC,
A.id_promotor_ALTAIR AS EJECUTIVO,
B.id_contrato AS CONTRATO,
B.id_buc AS BUC,
B.fec_apertura AS FECHA
FROM cl_cliente A
INNER JOIN el_contrato B ON A.id_buc = B.id_buc
WHERE B.id_contrato IN (80121221158);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加