1

前もって感謝します。

私の顧客は、要件に基づいた ID を持つこの特定のアイテムの出荷を受け取ります。この特定の要求されたアイテムでは、ID は次のように定義されます。

  1. バーコード # - 機械生成
  2. 目に見える # - マニュアルのシリアル番号

アイテム自体では、バーコードの実際の値は表示されず、代わりに同等の visibleid が表示されます。

        Example
        -------

||||||||| <Barcode # - C007587>
 C000001  <Visible # - C000001>

このアイテムの製造元は、バーコード # と可視 # を生成して印刷しますが、番号は繰り返されます。彼らは私のクライアントに最終的なExcelシートを提供し、ExcelデータをDBにインポートする必要があります。しかし、確認したところ、データの ID が重複していることがわかりました。

DB Schema with row sample

SRNO    BarcodeID    VisibleID
----    ---------    ---------
1       C007587      C000001
2       C000001      C011704

オペレーターはほとんどの場合、バーコード スキャナーを使用して商品にある ID をスキャンしますが、手動で値を入力することもあります。

SQL Query I am using is as follows
----------------------------------

select * from <table> where barcodeid='C000001' or VisibleID='C000001'

上記の SQL コードを実行すると、明らかな理由で 2 行が取得されますが、ここでは 1 行のみを取得する必要があります。(どちらの列にも値が繰り返されない限り、単一行の結果が得られます)。

注: オペレーターが ID コードを入力したりスキャンしたりしても、受信した Excel ファイルを変更することはできません。

したがって、この問題に取り組み、実際の結果を得る方法について提案を求めてください。

4

1 に答える 1

0

入力元 (バーコード/手動入力) を明示しない限り、これを検出する方法はありません。

また、バーコードの下の数字は、通常、バーコード仕様の一部でもあるバーコード番号そのものです (afaik)。

しかし、これは常に可能であるとは限りません。人間が読み取れる ID と RFID タグを使用している顧客がいます。RFID-ID は 36 桁の 16 進数コードで、人間による入力には適していません。この 2 つを区別するための解決策は、キーの長さ (および入力ソース) です。人間が読める ID は常に 4 桁です。

だから私は3つの解決策を提供することができます:

  1. データベースにクエリを実行するときは、入力ソースを考慮してください。
  2. バーコードの下にバーコード番号を印刷します
  3. いずれかのコードのコード長を変更してください。
于 2013-02-22T07:48:31.863 に答える