【发布时间】:2018-12-25 04:23:42
【问题描述】:
我是 sql 新手,我正在为我的数据库使用 myphpadmin,如果用户登录名是 Admin 或不是,我正在尝试控制 Column 的显示。我显示的列来自两个不同的表,即 TableA 和 Tableb。我确实将列中具有共同值的两个表结合起来,如果登录的用户是管理员,则显示所有需要显示的列,但我不知道如果登录的用户如何控制显示
我有三个名为的表;
TableA:
id Name Section Grade status
1a aika Section1 A Active
2s B Inactive
=============================================
TableB:
id PR_id Name Section
111 2s laika Section2
222 2s Bes Section3
用于显示所有列的查询
SELECT * FROM TableA WHERE Name != ''
UNION
SELECT TableA.id, TableB.Name, TableB.Section, TableA.Grade, TableA.status
FROM TableA
INNER JOIN TableB ON TableA.id = TableB.PR_id
输出是;
id Name Section Grade status
1a aika Section1 A Active
2s laika Section2 B Inactive
2s Bes Section3 B Inactive
表用户
id username usertype
1 aika admin
2 den user
3 lina user
如果 aika 是因为她是管理员而登录的人
所有此列都将显示给管理员
id Name Section Grade status
1a aika Section1 A Active
2s laika Section2 B Inactive
2s Bes Section3 B Inactive
但是如果 den/lina 是因为她是用户而登录的 仅为她显示的列在下方,她将看不到等级列
id Name Section status
1a aika Section1 Active
2s laika Section2 Inactive
2s Bes Section3 Inactive
我正在尝试此查询,但它不起作用我非常感谢任何建议或建议/帮助非常感谢您
Select usertype from Tableuser Where usertype='Admin'( SELECT * FROM TableA
WHERE Name != ''
UNION
SELECT TableA.id, TableB.Name, TableB.Section, TableA.Grade, TableA.status
FROM TableA
INNER JOIN TableB ON TableA.id = TableB.PR_id
【问题讨论】:
标签: sql phpmyadmin