システムwiki

照会/レポートヘルプの

DForce7 受付中 最終更新日:2021-06-16 15:10

私は彼らが必要とする運転文書を持つ従業員のアクセスクエリ/レポートを持っています.4つの合計文書が必要ですが、2つだけの日付があります.レポートでは、過去の期日の文書を持つ従業員を削除しようとしています.私が欲しいのは、運転を承認されている従業員のリストです.次の例では、Insの証明の予定の予定があるため、EMP 1を削除したいです.そして彼はドライバプロファイルを逃しているので、私はEMP 2を削除したいです.

あらゆる助けが大いに感謝されるでしょう!できればプログラミングなしで...

返信リスト(回答:12)

9 #
KenSher

私はあなたがこのようなものが必要だと思います:
Select DriverT.DriverID、FirstName、LastName、DocumentType、Dedate、Completed
Drivert Inner Joinドキュメントから
DriverT.DriverID= Documentation.DriverID



(Select*
ドキュメントから
Documentation.DriverID= Drivert.DriverIDは
(documenttype=「保険の証明」とduedateまたは(documenttype= "drivers license"とduedateまたは(DocumentType= "ドライバプロファイル"と完了していません)
または(documenttype= "dmvreport"と完了していません)).
レポートをドライバでグループ化し、グループヘッダーとドキュメントデータのドライバデータを詳細セクションに返します.

応答9# ->にスキップ
8 #
DForce7

返事をありがとうございました!私は初心者ですが、私はこれを見つけました.これはSQL文でなければなりません.上から3行が私のSQLに表示されているのと同じように表示されます.しかし、私は残りのものと何をすべきかわからない.




(Select*
ドキュメントから
Documentation.DriverID= Drivert.DriverIDは
(documenttype=「保険の証明」とduedateまたは(documenttype= "drivers license"とduedateまたは(DocumentType= "ドライバプロファイル"と完了していません)
または(documenttype= "dmvreport"と完了していません)).

私は上記を私のSQLに貼り付けてみましたが、それは私にエラーを与えました、 "SQL文の終わり後に見つかった文字".

このセクションはSQLにありますか?またはクエリフィールド? (もしそうであれば、どのように?)私はまたクエリフィールドのSELECT*ドキュメントを試み、次に「どこでドキュメント」をSQLに貼り付けてみました.同じエラーを得ました.

応答8# ->にスキップ
7 #
KenSher

私の推測は、現在のSQLステートメントの最後にセミコロンがあるということです.その後、新しいWhere句を貼り付けました.SQLでセミコロンがクエリの終了文字であるため、新規Where句を現在のステートメントの下に貼り付ける前にセミコロンを削除する必要があります.

応答7# ->にスキップ
6 #
DForce7

それをしました、そして今私はこのエラーを得ました.(ドキュメント*をクエリに追加することも試みましたが、これも同じエラーを与えました).

drivert.driverid、drivert.lastname、drivert.firstname、drivation.documentType、documentation.dudate、documentation.completed.jp

Drivert.DriverIDのDrivert Inner Joinドキュメント= Documentation.DriverID

存在しない場合は

(*

を選択

ドキュメント

から

Documention.DriverID= Drivert.DriverID

(documentType= "保険の証明"とduedate

または(documenttype= "drivers license"とduedate

または(documentType= "ドライバプロファイル"および完了していません)

または(documenttype= "dmvreport"と完了していません)).

応答6# ->にスキップ
5 #
KenSher

最後の行に閉鎖が欠落していると思います:
または(documenttype= "dmvreport"と完了していません))).

応答5# ->にスキップ
4 #
DForce7

これでこのエラーが表示されています:

応答4# ->にスキップ
3 #
KenSher

欠けているようです.

存在しない場合は

副照会の前に.

応答3# ->にスキップ
2 #
DForce7

お待ちいただいてありがとうございます!私は今「基準表現のデータ型の不一致」を取得しています

drivert.driverid、drivert.lastname、drivert.firstname、drivation.documentType、documentation.dudate、documentation.completed.jp

Drivert.DriverIDのDrivert Inner Joinドキュメント= Documentation.DriverID

存在しない場合は

(*

を選択

ドキュメント

から

Documention.DriverID= Drivert.DriverID

(documentType= "保険の証明"とduedate

または(documenttype= "drivers license"とduedate

または(documentType= "ドライバプロファイル"および完了していません)

または(documenttype= "dmvreport"と完了していません))))

応答2# ->にスキップ
1 #
KenSher

私はあなたのファイルをこれをピンにするようにする必要があると思います.コピーをOneDriveなどのサイトに削除して、ここにリンクを投稿するか、またはパブリックドメインにファイルを入れないでください.、次の(MUNGED)Eメールアドレスで直接アクセスできます.
kenwsheridanyahoocoイギリス

12 #
GroverP

スクリーンショットの詳細を作成するのは難しいですが、私が見ることができるものからビットを推測するかもしれませんが、このリレーショナルデータベースApplicationのtableの設計には問題があります.間違っている場合は訂正してくださいが、Driverttableのフィールドとして「documentId」があるようです.それは正しいですか?

それはまたあなたの命名規則がtableがnametであり、クエリがnameqである可能性があるようです.それは正しいですか?

すべてのすべてのtableが含まれている場合、またはDocumentationQが実際にクエリではなくtableであることを確認した場合は、そこから進むことができます.あるいは、私の推測が正確であれば、どのtableを使用して、クエリとしてDocumentationQを作成しますか?

応答12# ->にスキップ
11 #
DianneF

DocumentAionQに使用されるtableはDrivert&Documentation:

その後上記のQueryReportの場合は、DrivertとDocumentationQ

を使用しています.

ドライバtableのDocumentIDは無視できます.私はそれを削除するのを忘れていました、それは使われません.

私は4種類の文書の4種類の文書を保存するために使用するDocumentTypetもあります.

応答11# ->にスキップ
10 #
GroverP

ありがとう.

私は、DocumentationQがフィルタリングなしで最終的なクエリと基本的に同じものであるという事実によって少し困惑し、最終的なクエリのために再びDrivertに結合されます.私には冗長なようです.しかし、それから私は論理を含む見えないので、それは意味があるかもしれません.

とにかく、私は「ドライバプロファイル」がドキュメントの一種であると思います.しかし、あなたはそれを真の/偽としてそれを示すだけです.これは私が「完了」フィールドに対応すると思います.したがって、あなたが期日と完了日をキャプチャするいくつかの種類のドキュメントのためには、ただし、完了したステータスのみをキャプチャします.私が正しく推測していると仮定して、それは問題の大きな部分であると言うでしょう.あなたは完全なものだけを持つべきです.誰かがドキュメントを完了した場合、そのフィールドに日付があり、デフォルトでは完了フィールドのチェックマークと同じものです.そしてそれは、次に、あなたのクエリもはるかに簡単にします.ドキュメントの形式の期日がない場合は、必須ではありません.期日がある場合は、完了日が必要になり、その文書を完了したかどうかを判断します.

クエリは、基準として、次のようなものがあります.

(duedateがnullとetretedateはnullです)または(duedate

最初の部分は、edueateが入力されていないマニュアルをキャッチします.

2番目の部分は、圧出物が現在の日より早くされているが、完了データがない文書をキャッチします.

あなたはまたこのようにすることができます:

(duedateはnullまたはduedateです.

私はスクリーンショットの不完全な情報から部分的に推測しているので、構文を100%確信していませんが、それはそれほど非常に似ているべきです.