2 つのテーブルは非常に大きく、select ステートメントには取得できる値よりも多くの値がありますが、質問に答えるためにこのデータとクエリを単純化できると思います。
これは私の選択ステートメントです:
リーリーつまり、テーブルが 2 つあります。 Invoice テーブルと InvoiceItem テーブル。これらは各テーブルの InvoiceNum 列によって結合され、InvoiceNum 列と Layer 列が表示されます
このクエリの結果は次のとおりです:
リーリー私の InvoiceItem テーブルには 1 つの InvoiceNum に割り当てることができる複数の行があるため、結果に InvoiceNum が重複して表示されますが、これは望ましくありません。
これは、請求書テーブルから請求書番号を 1 つだけリストするために取得しようとしている結果です。最初のケースは、InvoiceItem テーブルのレイヤー列のゼロ以外の値であり、非ゼロの場合は、ゼロ値、リスト 最初のゼロ。
次のようなことを試してください:
リーリーこれをどのように行うか、あるいは 2 つの異なるテーブルにあることを考えるとそれが可能かどうかはわかりません。
P粉3109311982024-02-22 12:26:01
仮定/理解:
sybase
とマークされていますが、この質問では 4 種類の Sybase RDBMS 製品 (ASE
、SQLAnywhere
、IQ
) を区別していません。 、利点
)、したがって、一般的なSQL構文にこだわります(つまり、4x製品には異なるSQL言語があります。また、ASEはCTEをサポートしていません)InvoiceItem
## に「欠落している」行があることを示しているようには見えないため、OP の left (outer) join
の使用法がわかりません。 列と
InvoiceItemNum 列がどのテーブルに属しているかが明確ではないため、
InvoiceItem
に属していると仮定します。
insert ステートメントのセットを推測します:
リーリー
リーリー
OP に必要な出力を生成するためのいくつかの (複雑で混乱を招く) アイデア:リーリー
これらの両方で次のものが生成されます:リーリー
コメント:
の必要性を示しているため、出力がどうなるかわかりません。
P粉5510842952024-02-22 10:50:28
この質問は少し難しいです:
Postgres で試してみる:
リーリー ######デモ######MySQL 8: ###これを試して:### リーリー