0

識別子が「stock_code」である customer_product テーブルがあります。

次に、3 つのテーブルがあります。

  • bom_component
  • ルーティング
  • 材料_プロセス

これらの各テーブルは、stock_code を介して customer_product に結合され、その他のさまざまなフィールドが含まれています。

他の 3 つのテーブルのレコードがまったく同じで、重複の stock_code のみを返す customer_products を選択しようとしています。

これを理解するための助けは素晴らしいでしょう、ありがとう。

編集:明確にするために、「他のテーブルのレコードが同じ場所」と言ったとき、私は次のことを意味しました:

(例: ルーティング)

在庫コード 部門順
1234 グッズイン 1
1234 プレップ 2
1234 パッキン 3
3344 グッズイン 1
3344 プレップ 2
3344 パッキン 3
5661 グッズイン 1
5661 パッキン 2

ここでは、ルーティングのレコードが完全に一致するため、株式コード 1234 と 3344 が返されます。

そして、私はmySQLを使用しています。

4

1 に答える 1

0

使用している RDBMS によっては、INTERSECT ステートメントを使用できます。これは基本的に UNION に似ていますが、すべての個別の SQL ステートメントで一致する行のみを返します。

SELECT stock_code, price FROM bom_component
INTERSECT
SELECT stock_code, price FROM routing
INTERSECT
SELECT stock_code, price FROM material_process

これにより、重複がある行が返されます。価格を列と仮定しましたが、一意の基準にしたい列を追加するだけです。

于 2012-12-06T10:48:46.583 に答える