既存のMySQLテーブルの情報を使用して新しいテーブルを作成する方法を教えてください。私ので、私は新しいテーブルでP_IDとh_id列を必要とすることさえわからないMySQL - 3つの既存のテーブルのキーを使用して新しいテーブルを作成する
TRANSACTIONS TABLE
tr_id INT NOT NULL AUTO_INCREMENT
other columns
.
.
PEOPLE TABLE
p_id INT NOT NULL AUTO_INCREMENT
tr_id INT
other columns
.
.
HOLIDAYS TABLE
h_id INT NOT NULL AUTO_INCREMENT
tr_id INT
other columns
.
.
TRACKING TABLE
track_id INT NOT NULL AUTO_INCREMENT
tr_id
p_id
h_id
other columns
.
.
:私はそうのような新しいテーブルに含めるというキーを持っているそれぞれの3つのテーブルを持っています単一のtr_idのトラッキングテーブルからすべての行を取得するだけで済むようにする必要がありますが、それらが有用になる可能性があるので、それらをそこに残すことがあります。 (1つのトランザクションが複数の休日の宛先に行く複数の人に関連し、トラッキングテーブルの各行が1人の単一の宛先に関連しているので、新しいテーブルに行を作成する必要があります。同じ2つの休暇の目的地に、トラッキングテーブルに4行があるでしょう)
私が試してみました:
INSERT INTO tracking (tr_id, p_id, h_id) VALUES
(SELECT t.tr_id, p.p_id, h.h_id
FROM transactions t
JOIN people p
JOIN holidays h
WHERE t.tr_id = p.tr_id
AND t.tr_id = h.tr_id);
をしかし、これは私にエラーを与えています。
これに関する助言に感謝します。どうもありがとう。
あなたは何を得ていますか?また、トラッキングテーブルのプライマリキーは何ですか? –
mysqlがあなたに与えるエラーは何ですか?これは通常、number/error_idを持ちます。 – ace
ERROR 1064(42000):SQL構文にエラーがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックし、正しい構文が近くで使用されるようにしてください。SELECT t.tr_id、p.p_id、h.h_id – Joe