0

私は2つのテーブルを持っています

テーブルスキル

id | skill
----------
1 | skill 1
2 | skill 2
3 | skill 3

2 番目のテーブル user_skills。ここで、user_skills.skill_1 = skill.id (1) AND user_skills.skill_2 = skill.id (2) AND user_skills.skill_3 = skill.id (3)

id | user_id | skill_1 | skill_2 | skill_3
------------------------------------------
1  | 3       | 2       | 4       | 5

次のような出力が必要です。

skill 1 -- 2
skill 2 -- 4
skill 3 -- 5

左結合を試みましたが、結果はありませんでした。どんな助けでも大歓迎です。

おめり

4

2 に答える 2

4

こんにちは 値のグループを列として格納したり、列の値のグループをテーブルに格納したりしないでください。これは、データベース設計の第 1 正規形に違反しており、戻ってきて間違った場所に噛み付きます。

ユーザー スキル テーブルは次のようになります。

id | user_id | skill
------------------------------------------
1  | 3       | 2
2  | 3       | 4
3  | 3       | 5
于 2012-06-29T17:31:43.777 に答える
0

最初の表 (スキル) には、ID を持つスキル名しかありません。2 番目の表には、ユーザーのスキル レベルがあります。skill_1 は、スキル テーブルのスキル ID 1 と同じです。だから私はすべてのスキルとユーザーのスキルレベルを出力する必要があります

スキル名 (最初のテーブルから) - スキル レベル (2 番目のテーブルから)

おめり。

于 2012-06-29T18:05:11.720 に答える