Questions tagged «sql»

结构化查询语言(SQL)是用于查询数据库的语言。问题应包括代码示例,表结构,示例数据以及正在使用的DBMS实现的标签(例如MySQL,PostgreSQL,Oracle,MS SQL Server,IBM DB2等)。如果您的问题仅涉及特定的DBMS(使用特定的扩展名/功能),请改用该DBMS的标签。使用SQL标记的问题的答案应使用ISO / IEC标准SQL。

10
在数据库中存储JSON与为每个密钥添加一个新列
我正在实现以下用于在表中存储与用户相关的数据的模型-我有2列- uid(主键),该meta列以JSON格式存储有关用户的其他数据。 uid | meta -------------------------------------------------- 1 | {name:['foo'], | emailid:['foo@bar.com','bar@foo.com']} -------------------------------------------------- 2 | {name:['sann'], | emailid:['sann@bar.com','sann@foo.com']} -------------------------------------------------- 这是一个更好的方式(性能明智的,设计明智)比一列,每个属性模型,其中表将有很多像列uid,name,emailid。 我喜欢第一个模型,您可以添加尽可能多的字段,没有限制。 另外,我想知道,既然我已经实现了第一个模型。我该如何对其执行查询,例如,我要获取所有具有“ foo”之类名称的用户? 问题 -使用JSON或每字段列数,哪种更好的方式将用户相关数据存储(请记住字段数是固定的)?另外,如果实现了第一个模型,如何如上所述查询数据库?我是否应该通过将查询可能搜索到的所有数据存储在单独的行中以及将其他数据存储在JSON(是不同的行)中来使用这两种模型? 更新资料 由于不会有太多列需要执行搜索,因此同时使用两个模型是否明智?我需要搜索的数据的每列关键字以及其他数据(在同一MySQL数据库中)的JSON?

3
如何在SQL Server 2008中使用表别名编写UPDATE SQL?
我有一个非常基本的UPDATE SQL- UPDATE HOLD_TABLE Q SET Q.TITLE = 'TEST' WHERE Q.ID = 101; 该查询运行良好的Oracle,Derby,MySQL-但它在SQL Server 2008中失败 与以下错误: “消息102,级别15,状态1,行1'Q'附近的语法不正确。 如果我从SQL中删除所有出现的别名“ Q”,那么它将起作用。 但是我需要使用别名。

4
MySQL的now()+1天
我now()在MySQL查询中使用。 INSERT INTO table SET data = '$data', date = now() 但我想在此日期前增加1天(因此date应该包含明天)。 可能吗?
212 sql  mysql  datetime 


19
计算多列的DISTINCT
有没有更好的方法来执行这样的查询: SELECT COUNT(*) FROM (SELECT DISTINCT DocumentId, DocumentSessionId FROM DocumentOutputItems) AS internalQuery 我需要计算该表中不同项目的数量,但是不同项目超过两列。 我的查询工作正常,但我想知道是否可以仅使用一个查询(而不使用子查询)获得最终结果


8
查找MySQL中列上具有相同值的行
在[成员]表中,某些行的email列值相同。 login_id | email ---------|--------------------- john | john123@hotmail.com peter | peter456@gmail.com johnny | john123@hotmail.com ... 有些人使用了不同的login_id,但是使用了相同的电子邮件地址,因此在此列上未设置唯一约束。现在,我需要查找这些行,并查看是否应将其删除。 我应该使用什么SQL语句查找这些行?(MySQL 5)
209 sql  mysql  database 

5
暂时关闭约束(MS SQL)
我正在寻找一种暂时关闭所有数据库约束(例如表关系)的方法。 我需要将一个数据库的表复制(使用INSERT)到另一个数据库。我知道我可以通过按正确的顺序执行命令(不破坏关系)来实现这一点。 但是,如果我可以暂时关闭检查约束并在操作完成后将其重新打开,会更容易。 这可能吗?


30
有人可以版权保护SQL查询吗?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 9年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我在学区工作。每年,我们必须从学生管理系统中导出学生名单,并将其发送给处理我们的在线考试的公司。 因此,要进行此导出,我们必须雇用一名了解我们学生管理系统内部工作原理的人员。他编写了一个sql(自适应Sybase SQL Anywhere)查询,以将学生导出到csv文件中,就像我们需要的那样。这是在我开始为该地区工作之前的,所以有一段时间我以为这是一个实际的应用程序,直到我自己做出口的时候了。 而且,他每年会向我们收取500美元的费用,以更新此查询以导出当年的学生。因此,当我发现它只是一个查询(.bat文件和.sql文件)时,我的想法是“我可以自己更新此文件”。我要做的就是更改查询的年份(例如2009年到2010年)。 查询(.sql文件)本身在顶部具有以下注释: // This code was writtend by [the guy] // and is the property of [his company]...Copyright 2005,2006,2008,2009 // This code MAY NOT BE USED without the expressed written consent of // [his company]. (是的,它的确写成“书面”。) 所以现在我的老板担心我们侵犯了版权。那个家伙会发现我自己更新了查询,因为我们今年没有要求他更新查询并采取法律行动。 回到主题的问题:他真的可以对此查询进行版权保护吗?如果是这样,修改它本身是否会侵犯版权?在我看来,单个查询不是程序代码。更多的是命令行命令。但是我不知道它在法律上被认为是什么。
207 sql 

8
Oracle NVL和Coalesce之间的差异
Oracle中的NVL和Coalesce之间没有明显的区别吗? 明显的区别在于,合并将返回其参数列表中的第一个非null项,而nvl仅接受两个参数,如果不为null则返回第一个,否则返回第二个。 看来NVL可能只是合并的“基本案例”版本。 我想念什么吗?
207 sql  oracle  coalesce  nvl 



14
为每个类别选择前10条记录
我想在一个查询中返回每个部分的前10条记录。任何人都可以帮忙吗?节是表中的列之一。 数据库是SQL Server2005。我想按输入的日期返回前十名。部分是业务,本地和功能。对于一个特定的日期,我只需要前(10)个业务行(最近输入),前(10)个本地行和前(10)个功能。

4
如何在MySQL表中移动列?
目前,我有以下MySQL表: Employees (empID, empName, department); 我想将表更改为以下内容: Employees (empID, department, empName); 如何使用ALTER语句完成此操作? 注意:我只想更改列位置。
207 mysql  sql  alter 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.