0

SQL初心者はこちら。

請求書番号のリストを取得しようとしています。請求書とinvoicedetailの2つのテーブルがあります。invoicedetailテーブルには、scannedというフィールドがあります(これはビットフィールドです)。スキャンされた場合、ビットフィールドは1です。

請求書ごとに、invoicedetailに関連付けられたレコードがありますが、invoicedetailのスキャンされたフィールドのすべての関連付けられたレコードが1である請求書番号のリストのみが必要です。

可能であれば、これを1つのクエリで実行したいと思います。

InvoiceDetailでスキャンされたレコードは、返された請求書番号のすべてのレコードです。

あなたの助けに感謝します。

4

1 に答える 1

1
SELECT 
   InvoiceNumber 
FROM 
   Invoice 
INNER JOIN 
   InvoiceDetail 
ON 
   InvoiceDetail.ID = Invoice.ID 
WHERE 
   InvoiceDetail.ScannedColumn=1 
GROUP BY 
   Invoice.InvoiceNumber

または...

SELECT
   DISTINCT
   InvoiceNumber
FROM
   Invoice it
INNER JOIN
   InvoiceDetail idt 
ON idt.ID = it.ID
WHERE
  idt.ScannedColumn=1

ニーズに合わせて列名を変更してください。結合には各テーブルのIDを使用し、次にaを使用しWHEREてレコードをフィルタリングし、スキャンされたレコードのみを表示します。ビットフィールドを使用しているので、単にを使用しますWHERE ScannedColumn = 1

于 2012-07-06T19:18:09.090 に答える