sql-进行遇到的一个SQL 面试题

问题描述

进行遇到的一个SQL 面试题
我现在有两张表 一个用户表:user (id name age) 一个产品表:product(id name)
现在有一个需求 用户可以对产品添加任何属性: 如用户想添加产品的来源地
然后用户能够查询到该属性和原有的属性其他用户不能查到添加的属性;
请问这个表要怎么设计 可以添加任何字段和表结构;

解决方案

可以给表增加如下字段
1,版本 :可以查询以前内容
2,属性名称 :可以增加任意属性
3,属性内容:
3,用户权限:只限某个用户查询

解决方案二:
产品表:product(id name)增加一列外键userid增加一个产品的来源地新列,这样通过表连接就只能查到了,不过一个产品只能有一个产地,一个产品多个产地要加表

时间: 2024-08-30 11:57:20

sql-进行遇到的一个SQL 面试题的相关文章

转一个SQL Ralay数据库连接池的PHP操作类

数据|数据库|数据库连接 原文说明:目前此类只支持Sybase,稍加扩展就可以同时支持其它多种数据库,功能还不完善,但是基本上够用,另外,还没有写说明文档,先放上来,有需要的朋友可以拿去看看,需要SQL Relay支持哦.[操作类代码]   // pdbconn.inc.php <?php     /**      * 全局常量定义      *      */     define("SYBASE", 0);     define("ORACLE", 1);

一个SQL语句引发的ORA-00600错误排查

作者介绍 杨建荣,[DBAplus社群]联合发起人.现就职于搜狐畅游,Oracle ACE-A.YEP成员,超7年数据库开发和运维经验,擅长电信数据业务.数据库迁移和性能调优.持Oracle 10G OCP,OCM,MySQL OCP认证,<Oracle DBA工作笔记>作者.   Merge是从Oracle 9i就引入的功能,它是有别于其他DML中的一种特殊语句,类似于MySQL中的 insert into on duplicate key操作,而且Merge功能更丰富,可以同时对一个表中的

自己动手做一个SQL解释器

自己动手做一个SQL解释器在一些小型的应用中,完全没有必要使用大型数据库软件.自己做一个SQL解释器就能用数据库的方式来管理了.这个解释器,能解释常用的SQL命令.你可以自行添加其他功能. <?phpclass DB_text {  var $conn;  var $classname = "db_text";  var $database;  function on_create() {  }  function connect($database_name) {    $th

SQL Server 2008是否是SQL Server 2005的一个补丁包

随着SQL Server 2008越来越多地进入到大家的视线中,也有越来越多的声音说SQL Server 2008 (Kaitmai)仅仅是SQL Server 2005的一个补丁包.当初我也是这个想法,因为我们把太多的目光放到了例如Geo-Spatial支持.Hierarchical ID.File Stream上,确实这些功能都是建立在SQL Server 2005搭建的CLR -Integrated平台上的,但是我们也需要看到SQL Server 2008中的其他功能,例如Resource

SQL数据库上面显示一个绿色向上的小箭头是怎么回事?也无法访问数据库了,有什么办法吗?

问题描述 SQL数据库上面显示一个绿色向上的小箭头是怎么回事?也无法访问数据库了,有什么办法吗? 解决方案 sql 有一个browser服务 这个是1434端口的 解决方案二: 你那里是sqlserver客户端吗 你看看sqlservernetmanager里的网络配置1433开了吗 解决方案三: 数据库服务是否启动,端口是否在侦听,防火墙是否拦截请求

怎么写出一个sql语句来表示销售的配件的数量

问题描述 怎么写出一个sql语句来表示销售的配件的数量 String sql = "select '配件A' label,12 value " + "union all " + "select '配件B' label,10 value "; 来修改这个sql来表示表中的内容 解决方案 啥玩意,你这不是已经有这些数据了吗,还要改什么

【SQL 学习】求一个表中列值的最前三名

表A是个职工工资表,现在你写一个sql,实现如下功能: 1.返回表中所有结果 2.将工资最高的3个职工记录信息按工资从低到高排序放在查询结果的前3个最高工资记录 3.其他的记录以正常的select结果输出 写一个sql来实现 利用 比较大小 select decode(sign(4-变量1),1,-变量1,变量1) from dual; sign()函数根据某个值是0.正数还是负数,分别返回0.1.-1 SQL> select sign(3),sign(-3),sign(0) from dual

需要写一个SQL语句,大神帮我吧!在线等

问题描述 需要写一个SQL语句,大神帮我吧!在线等 我有一张产品供货价的表ProductPrice,该表有五个字段,分别是id,ProductID(外键关联产品ID),ChannelID(外键关联渠道ID),CustomerTypeID(外键关联客户类型ID),PriceSupply(供货价), 该表有三个外键,我最终的目的是得到该外键对应的供货价,其中一个ID变了供货价肯定就变了.看一下该表的的结构和数据. 但是我页面上只有两个下拉框控件,一个是客户,一个是产品.我只能拿到这两个对应的ID,渠

sql server 怎么判断一个表里面的字段拆分之后是否可以在另一个表的字段里面查到数据

问题描述 sql server 怎么判断一个表里面的字段拆分之后是否可以在另一个表的字段里面查到数据 其中F_Split是分割以逗号连接的字符串的方法 怎么判断string字段拆分之后的数据是否能在@a表中的id字段找到对应的记录 insert into @a(idname)values(1'A')insert into @a(idname)values(2'B')insert into @a(idname)values(3'C')select * from @ainsert into @c(s