[英]mysql create view from multiple tables
我想從 tabel admin、akademik、dosen 和 mahasiswa 創建視圖,在這個視圖中有 admin、password 和 id 級別列。
試過這個查詢,但結果是錯誤的。
CREATE VIEW view_user AS
SELECT admin.id_level, admin.username, admin.password, akademik.id_level, akademik.username,
akademik.password, dosen.id_level, dosen.username, dosen.password, mahasiswa.id_level,
mahasiswa.username, mahasiswa.password
FROM admin a
INNER JOIN akademik b on (a.id_level=b.id_level) AND (a.username=b.username) AND (a.password=b.password)
INNER JOIN dosen c on (b.id_level=c.id_level) AND (b.username=c.username) AND (b.password=c.password)
INNER JOIN mahasiswa d on (c.id_level=d.id_level) AND (c.username=d.username) AND (c.password=d.password)
ORDER BY 1;
我怎樣才能做到這一點? 有人可以幫我嗎
由於您在 id_level、user_name 和 password(通常不建議)上執行 Inner JOIN,因此您不必顯示所有 4 個表中的這 3 列,因為您想要的輸出只有 3。
CREATE VIEW view_user AS
SELECT admin.id_level, admin.username, admin.password
FROM admin a
INNER JOIN akademik b on (a.id_level=b.id_level) AND (a.username=b.username) AND (a.password=b.password)
INNER JOIN dosen c on (b.id_level=c.id_level) AND (b.username=c.username) AND (b.password=c.password)
INNER JOIN mahasiswa d on (c.id_level=d.id_level) AND (c.username=d.username) AND (c.password=d.password)
ORDER BY 1;
此外,您可以在視圖創建中刪除順序並在查詢視圖時執行此操作,如下所示
Select * from view_user order by 1;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.