私はすべてのアイテムIDが単一のソースから来る在庫データベースを持っています。現在、主テーブル(cp_partlistが)のようなものになります。mysql - 構造が異なる複数のテーブルからデータを選択
- PK_PartID
- TableName
を私は、アイテムの種類ごとに別々のテーブルを持っており、各テーブルには、さまざまなデータを持っています。今私は、
- FK_PartID
- OD
- ID
- Thickness
を私は与えられたPartIDのための具体的な情報が必要な場合:
- FK_PartID
- ThreadType
- Length
- DriveType
をし、持っているワッシャーのためのテーブル:たとえば、私が持っているボルト用のテーブルを持っているかもしれませんプライマリテーブルのテーブル名を検索し、それを使用して、正しいテーブルから必要な特定のデータを取得します。
もっと直接的なアプローチが必要なようです。私は次のようにJOINをLEFT使用してみました:。
SELECT * FROM cp_partlist AS pl
LEFT JOIN bolts ON pl.PK_PartID=bolts.FK_PartID
LEFT JOIN washers ON pl.PK_PartID=washers.FK_PartID
WHERE PK_PartID=400004
これは私がすべてのテーブルから列で終わることを除いて働くだけではなく、テーブル、私はに興味を、それは違うので、私は列名を指定することはできませんテーブルごとに
これを行うより良い方法はありますか?ありがとう。
あなたは何をすべきか結果必要? – chance
あなたのアプリケーションは、どの列で結果を探すかをどのように知っていますか? PartIDに基づいてどのフィールドを探していなければならないのか、それともnull以外の値だけを探すのかはすでに分かっていますか? –
同じpartidを持つボルトとワッシャーは何を表していますか? –