私は(user_no = 54 AND「GRANT」=「N」osqs_users_privileges FROM priv_noを選択1ケースosqs_users_privilegesが行と、この文を持っていない場合のこのSQL文の問題点は何ですか?
SELECT p.priv_no FROM osqs_privileges p,osqs_users_privileges up
WHERE up.priv_no = p.priv_no AND up.user_no = 54 AND up."GRANT" = 'Y'
UNION
SELECT p.priv_no FROM
osqs_privileges p,osqs_groups_privileges gp,osqs_users_groups ug,osqs_users_privileges up
WHERE gp.priv_no = p.priv_no AND ug.grp_no = gp.grp_no AND ug.user_no = 54
AND gp.priv_no NOT IN
(SELECT priv_no FROM osqs_users_privileges WHERE user_no = 54 AND "GRANT" = 'N');
を除くすべての場合に正しく動作します。この文を書きます)は0行を返し、select文がデータを返す場合でもすべてのスクリプトは0行を返します。どうして?
,, それがエラーを与える:この行の無効な関係演算子 LEFTはosqs_groups_privilegesのGPを登録しようosqs_users_groups ug on gp.priv_no = p.priv_no – sahar
ありがとう、あなたは私に道を与えます。 あなたの答えが変更されました – sahar