2017-06-19 20 views
0

私はかなり緑色のSQLで道路ブロックに達しました。私はすでにクエリを実行しているエージェントを介して購買部門のエージェントに電子メールを送信するジョブを持っています。メール複数の電子メールアドレスのSQLクエリの結果を毎日

po_num vend_num qty_needed external_email_addr 
318  1   200   [email protected] 
318  1   910   [email protected] 
703  2   250   [email protected] 
993  3   3600  [email protected] 
993  3   3600  [email protected] 
676  4   1   NULL 
884  5   10000  [email protected] 
118  5   2500  [email protected] 

私の目標は、自動的にexternal_email_addrフィールドに電子メールアドレスを使用して、各ベンダーにqty_neededの1通の電子メールを送信することです。ここでは

は、彼らがテキスト添付ファイルとして受け取る私のサンプルデータです。また、電子メールアドレスがNULLの場合は、これを修正する必要があるというメールを私に送信します。

これはどれほど複雑か簡単かわかりませんが、助けていただければ幸いです。

+0

また、po_numもベンダーに含める必要があります。 – AMorquecho

+0

これは、ループが最適な(そして唯一の)オプションであるまれな時間の1つです。クエリの結果をループし、送信したい詳細が記載された電子メールを送信します。あなたのループでは、電子メールがnullの場合.... ....よく知られているアドレスに別の電子メールを送信します。 –

+0

@SeanLangeではなく、COALESCE命令で逃げることはできません。 – Namphibian

答えて

0

po_numは一意なので、指定したサンプルデータに基づいて、1日あたりの電子メールアドレスごとに複数のメールが生成されます。

私はその時点でSQLにアクセスしていません。そのため、シンタックスではスプルーズアップが必要な場合があります。

SELECT po_num, 
     vend_num, 
     qty_needed, 
     CASE WHEN external_email_addr ='' THEN COALESCE(external_email_addr,'[email protected]') ELSE external_email_ddr END AS email_address 
FROM table_name 
+0

@SeanLangeは正しいアイデアを持っています(ある種のループ)。一度に1行のデータを個別のメールに送信するのではなく、すべての結果を含む1つのメールを送信したいと思います。その日にデータは同じベンダーに3〜8種類のPOを返すことができ、私はその人に3〜8の別々の電子メールを送信したいと思っています...しかし、データのすべての行を含む1つの電子メール。私はたくさんのことを求めていないことを願っています.... – AMorquecho

関連する問題