Webフォーラムのデータベースを作成する必要があるデータベースの最終プロジェクトを完了しようとしています。ちょうどDBの仕事ではなく、PHP/HTML/etc。他のテーブル/行から複数の値を別のテーブルの単一フィールドに返すためのOracle SQL
この例では、変数を使用していないため、ユーザーをコードにハードコーディングしています。私の例では、User_ID 2を使用します。 要件に固執しています。私は、ユーザーのプロフィールと興味を一覧表示するビューを作成する必要があります。だから、フィールド名は、Username、F_Name、L_Nameなど 私の問題は、ユーザーのための "興味"は別のテーブルに格納されています。私は基本的に以下のように表示されるビューが必要になります。
Users.Username Users.F_Name Users.L_Name Users.Joined (VARCHAR2) Users.Signature Users.Website INTERESTS
私はそれのような返却したいと思います:
INTEREST_ID USER_ID CATEGORY_ID
1 2 1
2 2 2
3 2 3
4 3 1
5 3 2
6 4 2
7 5 1
8 5 2
9 5 3
カテゴリーを次のように関心表が見えます
"JSmith" "John", "Smith", "1/1/2016", "SigHere", "www.example.com, "Music, Movies, Tech" With the entire list of interests all within one field of the view.
表は:
CATEGORY_ID NAME DESCRIPTION
1 Music All about them Jamz!
2 Electronics Tech Talk
3 Movies The BIG screen
Usersテーブルがある:
User_ID Integer NOT NULL,
Username VARCHAR2(60) NOT NULL,
Password VARCHAR2(60),
Email VARCHAR2(255),
F_Name VARCHAR2(20) NOT NULL,
L_Name VARCHAR2(20) NOT NULL,
Joined VARCHAR2(10),
Level_ID INTEGER NOT NULL,
Signature VARCHAR2(255),
Website VARCHAR2(60)
がTABLEのユーザー
私は、このコマンドを試してみましたUser_ID Integer NOT NULL,
Username VARCHAR2(60) NOT NULL,
Password VARCHAR2(60),
Email VARCHAR2(255),
F_Name VARCHAR2(20) NOT NULL,
L_Name VARCHAR2(20) NOT NULL,
Joined VARCHAR2(10),
Level_ID INTEGER NOT NULL,
Signature VARCHAR2(255),
Website VARCHAR2(60)
を作成するのではなく、それは私がそれから*を選択しようとしたとき、「単一行のサブクエリが複数行を返す」返され、私はそれを理解している。ちょうど私が好きなことをする方法を理解することはできません。それも可能ですか?
CREATE or REPLACE VIEW Profile AS
SELECT Users.Username, Users.F_Name, Users.L_Name, Users.Joined, Users.Website,
(SELECT UserInterested.Category_ID FROM UserInterested) AS InterestList
FROM Users
WHERE Users.User_ID = 2;
ありがとうございます!私はプロジェクトのためにサブクエリを使わなかった。このビューでは、ユーザー名は何度も繰り返されましたが、インストラクターはそれが問題ではないと言いました(プログラマーはそれを取り除くでしょう)。 しかし、それは私を悩ませており、私はそれを理解したいと思っていました。私はそれにショットを与え、何が起こるか見るでしょう!ありがとう! –