我想從我的查詢創建視圖,這種方式:從創建查詢視圖在MySQL - MySQL的don'a允許創建視圖
CREATE VIEW v_test
(
OS_ID,
OS_IMIE,
KO_SYMBOL,
OS_NAZWISKO,
OS_SYGNATURA_APS,
UP_DATA_WAZNOSCI_SZKOLENIA,
UP_WAZNOSC_SZKOLENIA_DNI,
UP_DATA_SZKOLENIA,
KT_ID,
KT_DZIEDZINA
)
AS
SELECT
a.OS_ID,
a.OS_IMIE,
a.KO_SYMBOL,
a.OS_NAZWISKO,
a.OS_SYGNATURA_APS,
b.UP_DATA_WAZNOSCI_SZKOLENIA,
b.UP_WAZNOSC_SZKOLENIA_DNI,
b.UP_DATA_SZKOLENIA,
b.KT_ID,
b.KT_DZIEDZINA
FROM (SELECT
v_ra_osoby_uprawnione.OS_ID,
v_ra_osoby_uprawnione.KO_SYMBOL,
v_ra_osoby_uprawnione.OS_NAZWISKO,
v_ra_osoby_uprawnione.OS_IMIE,
v_ra_osoby_uprawnione.OS_SYGNATURA_APS,
v_ra_osoby_uprawnione.OS_EMAIL,
v_ra_osoby_uprawnione.OS_UZYTKOWNIK
FROM v_ra_osoby_uprawnione AS v_ra_osoby_uprawnione) AS a INNER JOIN (SELECT
v_ra_uprawnienia.UP_ID,
v_ra_uprawnienia.OS_ID,
v_ra_uprawnienia.UP_NR_POSWIADCZENIA,
v_ra_uprawnienia.UP_DATA_WAZNOSCI_KLAUZULI,
v_ra_uprawnienia.UP_DATA_WYDANIA_POSWIADCZENIA,
v_ra_uprawnienia.UP_NR_ZASWIADCZENIA_O_SZKOLENIU,
v_ra_uprawnienia.UP_DATA_SZKOLENIA,
v_ra_uprawnienia.UP_DATA_WAZNOSCI_SZKOLENIA,
v_ra_uprawnienia.UP_DATA_WAZNOSCI_SZKOLENIA - CURDATE() as UP_WAZNOSC_SZKOLENIA_DNI,
v_ra_uprawnienia.KT_ETYKIETA,
v_ra_uprawnienia.KT_DZIEDZINA,
v_ra_uprawnienia.KT_ID,
v_ra_uprawnienia.SCISLE_TAJNE,
v_ra_uprawnienia.TAJNE,
v_ra_uprawnienia.POUFNE,
v_ra_uprawnienia.ZASTRZEZONE
FROM v_ra_uprawnienia AS v_ra_uprawnienia) AS b ON b.OS_ID = a.OS_ID
但是MySQL不允許創建視圖,錯誤代碼是: SQL錯誤:視圖的SELECT包含FROM子句中的子查詢
我想避免爲每個子查詢創建視圖。在這種情況下,是否可以通過將我的查詢重寫爲沒有子查詢的等價物來創建單個視圖?