Questions tagged «sql»

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

10
SQL UPDATE SET哪一列等于另一列引用的相关表中的值?
我希望这是有道理的,让我详细说明一下: 每一行都有一个测验程序的跟踪数据表。 QuestionID和AnswerID(每个都有一个表)。因此,由于存在一个错误,有一堆QuestionID设置为NULL,但是相关AnswerID的QuestionID在Answers表中。 因此,假设QuestionID为NULL,AnswerID为500,如果我们进入Answers表并找到AnswerID 500,则会出现一列带有QuestionID的列,该列应为NULL值所在的位置。 因此,基本上,我想将每个NULL QuestionID设置为等于在跟踪表中AnswerID的Answer行(与正在写入的NULL QuestionID相同的行)的Answers表中找到的QuestionID。 我该怎么做? UPDATE QuestionTrackings SET QuestionID = (need some select query that will get the QuestionID from the AnswerID in this row) WHERE QuestionID is NULL AND ... ? 不知道如何使它从匹配的AnswerID中将QuestionID分配给QuestionID ...
112 sql 

11
如何在Oracle SQL中从BLOB获取文本内容
我正在尝试从SQL控制台查看Oracle BLOB内部的内容。 我知道它包含一些较大的文本,我只想看一下文本,但是以下查询仅表明该字段中存在BLOB: select BLOB_FIELD from TABLE_WITH_BLOB where ID = '<row id>'; 我得到的结果与我预期的不太一样: BLOB_FIELD ----------------------- oracle.sql.BLOB@1c4ada9 那么我可以做什么样的魔术咒语来将BLOB变成文本表示形式呢? PS:我只是想从SQL控制台(Eclipse数据工具)查看BLOB的内容,而不是在代码中使用它。
112 sql  oracle  blob 

6
如何在COUNT个汇总中包含“零” /“ 0”结果?
我刚刚陷入了一些SQL问题。我认为我不能很好地表达问题-所以让我告诉你。 我有两个桌子,一个叫人,一个叫约会。我正在尝试返回一个人的约会数量(包括零个约会)。约会包含person_id和,并且person_id每个约会都有一个。因此COUNT(person_id)是明智的做法。 查询: SELECT person_id, COUNT(person_id) AS "number_of_appointments" FROM appointment GROUP BY person_id; 将正确返回person_id拥有的约会数量。但是,约会不为0的人不会返回(显然是因为他们不在该表中)。 调整语句以从人员表中获取person_id可以得到以下信息: SELECT person.person_id, COUNT(appointment.person_id) AS "number_of_appointments" FROM appointment JOIN person ON person.person_id = appointment.person_id GROUP BY person.person_id; 但是,这仍然只会返回有约会的person_id,而不是我想要的有0个约会的人的返回! 有什么建议吗?

10
MySQL表中varchar长度的重要性
我有一个MySQL表,其中动态插入行。因为我不能确定字符串的长度,也不希望它们被截断,所以我将它们设为varchar(200),通常比我需要的大得多。给varchar字段提供比所需长度更长的长度是否会对性能产生重大影响?
112 sql  mysql  performance  types 



10
从SQL Server中的字符串中删除HTML标签的最佳方法?
我在SQL Server 2005中有包含html标记的数据,我想删除所有内容,只在标记之间保留文本。理想的情况下也更换喜欢的东西<带<等 有没有简单的方法可以做到这一点,或者有人已经获得了一些示例t-sql代码? 我没有添加扩展存储的proc之类的功能,因此更喜欢纯t-sql方法(最好是一种与sql 2000向后兼容的方法)。 我只想使用剥离的html来检索数据,而不是对其进行更新,因此理想情况下,它将被编写为用户定义的函数,以使其易于重用。 因此,例如,将其转换为: <B>Some useful text</B>  <A onclick="return openInfo(this)" href="http://there.com/3ce984e88d0531bac5349" target=globalhelp> <IMG title="Source Description" height=15 alt="Source Description" src="/ri/new_info.gif" width=15 align=top border=0> </A>> <b>more text</b></TD></TR> 对此: Some useful text > more text


15
单柱桌是好的设计吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 改善这个问题 有一个只有一列的表可以吗?我知道从技术上来讲这不是非法的,但是它被认为是糟糕的设计吗? 编辑: 这里有一些例子: 您有一个带有50个有效美国州代码的表,但是您无需存储详细的州名。 电子邮件黑名单。 有人提到添加一个关键字段。我的看法是,这单列将是主键。


4
View的SELECT在FROM子句中包含一个子查询
我有两个表,我需要创建一个视图。这些表是: credit_orders(id, client_id, number_of_credits, payment_status) credit_usage(id, client_id, credits_used, date) 我使用以下查询来执行此操作。不带“创建视图”部分的查询效果很好,但带“创建视图”的查询则显示错误“视图的SELECT在FROM子句中包含子查询”。可能是什么问题和可能的解决方案: create view view_credit_status as (select credit_orders.client_id, sum(credit_orders.number_of_credits) as purchased, ifnull(t1.credits_used,0) as used from credit_orders left outer join (select * from (select credit_usage.client_id, sum(credits_used) as credits_used from credit_usage group by credit_usage.client_id) as t0 ) as t1 on t1.client_id = credit_orders.client_id where …
111 mysql  sql  database  views 

11
SQL:与<=和> =之间
在SQL Server 2000和2005中: 这两个WHERE子句有什么区别? 我应该在哪种情况下使用哪一个? 查询1: SELECT EventId, EventName FROM EventMaster WHERE EventDate BETWEEN '10/15/2009' AND '10/18/2009' 查询2: SELECT EventId, EventName FROM EventMaster WHERE EventDate &gt;='10/15/2009' AND EventDate &lt;='10/18/2009' (编辑:最初缺少第二个Eventdate,因此查询在语法上是错误的)
111 sql  sql-server  tsql  where  between 

5
mysql-多少列太多?
我正在设置一个可能有70列以上的表格。我现在正在考虑将其拆分,因为每次访问表时都不需要列中的某些数据。再说一次,如果我这样做,我就不得不使用联接。 在什么时候(如果有的话)是否认为列太多?
111 sql  mysql 

7
IDENTITY_INSERT设置为OFF-如何将其打开?
我有一个已删除的文件存档数据库,其中存储了已删除文件的ID,我希望管理员能够恢复该文件(以及用于链接文件的相同ID)。我不想从整个表中删除identity_insert,因为将其递增1效果很好。在我的插入TBL_Content存储过程中,我有这样的东西 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON SET IDENTITY_INSERT tbl_content ON GO ALTER procedure [dbo].[spInsertDeletedIntoTBLContent] @ContentID int, ...insert command... SET IDENTITY_INSERT tbl_content OFF 但是我不断收到同样的错误: 当IDENTITY_INSERT设置为OFF时,无法在表'TBL_Content'中为标识列插入显式值。 有什么帮助吗?
111 sql  sql-server  tsql 

8
C#SQL Server-将列表传递到存储过程
我正在从我的C#代码中调用SQL Server存储过程: using (SqlConnection conn = new SqlConnection(connstring)) { conn.Open(); using (SqlCommand cmd = new SqlCommand("InsertQuerySPROC", conn)) { cmd.CommandType = CommandType.StoredProcedure; var STableParameter = cmd.Parameters.AddWithValue("@QueryTable", QueryTable); var NDistanceParameter = cmd.Parameters.AddWithValue("@NDistanceThreshold", NDistanceThreshold); var RDistanceParameter = cmd.Parameters.AddWithValue(@"RDistanceThreshold", RDistanceThreshold); STableParameter .SqlDbType = SqlDbType.Structured; NDistanceParameter.SqlDbType = SqlDbType.Int; RDistanceParameter.SqlDbType = SqlDbType.Int; // Execute the query …

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.