我打賭一個類似的問題已發佈之前,我只是找不到它。我目前正在努力處理以下情況: 我需要加入一張包含員工的表格,其中包含員工可以預訂的另一個表格,其中包含可由員工預訂的內部培訓,並且理想情況下使用另一個表格,其中包含針對每個人員和培訓的已接受培訓的培訓記錄。
樣品結構:
table "person"
-> person_id
-> last_name
-> first_name
table "training"
-> training_id
-> training_name
table "person2training"
-> person_ref
-> training_ref
樣本數據:
person:
-> person_id: 1, last_name: Muller, first_name: Peter
-> person_id: 2, last_name: Schmitz, first_name: Horst
training:
-> training_id: 1, training_name: "Sorting books"
-> training_id: 2, training_name: "Licking stamps"
person2training:
-> person_ref: 2, training_ref: 2
期望的結果(垂直地接合):
person_id | training_1 | training_2
-----------|---------------|----------
1 | NULL | NULL
2 | NULL | 1 (or true)
表存儲在Oracle 11g數據庫,現在我在PHP中使用array_merge()創建「Desired Result」中顯示的數據,但是我認爲純粹的SQL解決方案是可行的隨着員工和培訓數量的不斷增加,員工的工作表現更好
提前致謝!
是否有任何真正的方法,這些鏈接在一起? – Zane
當然。我想人力資源部門或培訓中心的記錄會顯示這一點。它需要一些旋轉工作或從xml中選擇我猜。 – vasin1987
@ vasin1987你是完全正確的,這是一個培訓中心。這個想法是創建一個包含相關參與狀態的受訓人員和培訓的所有可能組合的矩陣。 – SaschaM78