2017-02-27 13 views
-1

私はJoinnesです。私は、複数のデータをMariaDBに挿入する際に、クエリを試してみることを質問します。私は現在Vb.NetコードでAPIを開発中です。私はMariaDBにデータを挿入するときに「試行」を数えたいと思う。私はAWB、日付、時刻、ステータス、受信者、駅、ReasonCode、ReasonNoteフィールドを持ち、MariaDBにID、AWB、追跡番号、ステータス、タイムスタンプ、コメント、ステーション、受信者、関係、ReasonCode、ReasonNote、 Username、RequestID、Flagフィールド。このシナリオは、私がMariaDBにデータを挿入するときに、ステータスに応じて複数の同じAWBがある場合、どのようにカウントを試みるかです。同じAWBを持つ3つの同じステータス挿入がある場合、それぞれのステータスをカウントして試行列に挿入する方法は?VB.Net SQL ServerとMariaDB

注: ステータス説明:OD = OnDelivery; AR =到着;国連=引き渡されていない。 OK =成功; RT = Retur

ステータス 'UN'が1つのAWBより大きい場合、どのように 'attemmpt'をクエリでカウントし、それをMariaDBの 'attemmpt'列に挿入するのですか?

みんなありがとう。

答えて

0

私はあなたがテーブルに値を設定したと仮定しますか?次に、このようなものがカウントを行います。

SELECT AWB, COUNT(*) AS ct 
    FROM tbl 
    GROUP BY AWB; 

SELECT AWB, 
     Status, 
     COUNT(*) 
    FROM tbl 
    GROUP BY AWB, Status 

SELECT AWB, 
     SUM(Status = 'UN') AS 'count of UNs', 
     COUNT(*) 
    FROM tbl 
    GROUP BY AWB 

計算された値を別の列に挿入しないでください。代わりに、必要なときに再計算してください。

+0

@Rickに感謝していますが、まだ正しくありません。私は、私のsqlDBからmariaDBにデータを挿入するときにAWBにいくつかのStatus Likes AWB(123456789)を持っています。ステータスはPU(ピックアップ)、AR、OD、RT、UN、UN、UNです。それはあなたのための簡単な例です。だから、同じ「ステータス」のデータを挿入すると「国連」が好きです。「国連」ステータスの試行を数えたいと思います。 3つの国連がある場合、それは1.UN =最初の試み、2UN = 2番目の試み、3UN = 3番目の試みになります。私は 'Attempt'という名前の列に値を設定していますので、そこに挿入しようとする回数を試してみましょう。どのように?おかげで多くのリック:) – Joinnes

+0

申し訳ありませんが、私はまだ要件に失われています。 –

+0

ありがとう@Rick(T_T) – Joinnes

関連する問題