私はAccountNum、InvoiceAcc、Blockedの3行のテーブルを持っています。ほとんどの行、私のテーブルにはInvoiceAccがありますが、すべてではありません。 AccountNumは固有の識別子であり、複数のAccountNumが同じInvoiceAccを持つことが可能です。ブロックされたint値は0,1,2から変化します。SQL - サブセレクトを使用
InvoiceAccはAccountNumを基にしているため、Child Officeを処理している親オフィスと考えてください。例えば
、そのような親オフィス:
AccountNum - 1, InvoiceAcc - null, Blocked - 2
はそうのような子オフィスを持っているかもしれません。私がやりたいのは何
AccountNum - 1-1, InvoiceAcc - 1, Blocked - 0
AccountNum - 1-2, InvoiceAcc - 1, Blocked - 1
行のInvoiceAccをチェックし、その続きますAccountNumは値をブロックしました。上記の私の例では、そういうクエリを実行した場合:
SELECT BLOCKED FROM CustTable WHERE AccountNum = '1-1'
ブロックされた値は0になります。私がそれをしたいのは、より高い価値とその親口座を持っているので、2を返すことです。また、親accのブロック値が1で、私が照会している子アカウントのブロック値が2の場合、2を返します。ここでsubselectが必要であると仮定していますか?
それは、親アカウントに
これはまた、accno = 1のためにも静的です。 – SMK
Nop、そうではありません。パラメータに置き換えたり、場所を完全に削除したりすると、各顧客の最高ブロック値が表示されます – CallumVass