Questions tagged «sql»

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

7
连接/聚合字符串的最佳方法
我正在寻找一种将不同行中的字符串聚合为一行的方法。我希望在许多不同的地方进行此操作,因此具有促进此操作的功能会很好。我已经尝试过使用COALESCE和解决方案FOR XML,但它们只是不适合我。 字符串聚合将执行以下操作: id | Name Result: id | Names -- - ---- -- - ----- 1 | Matt 1 | Matt, Rocks 1 | Rocks 2 | Stylus 2 | Stylus 我看过CLR定义的聚合函数来代替COALESCE和FOR XML,但是显然SQL Azure 不支持CLR定义的东西,这让我很痛苦,因为我知道能够使用它可以解决很多问题。我的问题。 有什么可能的解决方法,或者类似的最优方法(可能不如CLR最优,但是我会尽力而为)来聚合我的东西?

7
如何使用Laravel查询生成器从子查询中选择?
我想通过下面的SQL使用Eloquent ORM来获得价值。 -SQL SELECT COUNT(*) FROM (SELECT * FROM abc GROUP BY col1) AS a; 然后,我考虑了以下内容。 -代码 $sql = Abc::from('abc AS a')->groupBy('col1')->toSql(); $num = Abc::from(\DB::raw($sql))->count(); print $num; 我正在寻找更好的解决方案。 请告诉我最简单的解决方案。

8
MySQL JOIN最近的行而已?
我有一个表客户,存储有customer_id,电子邮件和参考。还有一个附加表customer_data,用于存储对客户所做的更改的历史记录,即,当发生更改时,将插入新行。 为了在一个表中显示客户信息,需要将两个表连接起来,但是只有customer_data中的最新行才应该连接到客户表中。 由于查询是分页的,因此变得有些复杂,因此有一个限制和一个偏移量。 我该如何使用MySQL?我想我想在某个地方放一个DISTINCT ... 此刻的查询是这样的- SELECT *, CONCAT(title,' ',forename,' ',surname) AS name FROM customer c INNER JOIN customer_data d on c.customer_id=d.customer_id WHERE name LIKE '%Smith%' LIMIT 10, 20 另外,我认为我可以通过这种方式将CONCAT与LIKE一起使用吗? (我很欣赏INNER JOIN可能是错误的JOIN类型。我实际上不知道不同的JOIN之间有什么区别。我现在要研究一下!)
102 mysql  sql  join 

2
在text或ntext数据类型上替换REPLACE的替代方法
我需要更新/替换datatable.column中的数据。该表具有一个名为的字段Content。我正在使用该REPLACE功能。由于column数据类型为NTEXT,因此SQL Server不允许我使用该REPLACE函数。 我无法更改数据类型,因为此数据库是第三方软件表。更改数据类型将导致应用程序失败。 UPDATE [CMS_DB_test].[dbo].[cms_HtmlText] SET Content = REPLACE(Content,'ABC','DEF') WHERE Content LIKE '%ABC%' 我收到此错误: 消息8116,级别16,状态1,行1参数数据类型ntext对于replace函数的参数1无效。 我可以使用T-SQL修复此问题吗?有人有示例如何阅读和循环吗? 由于这是一次转换,因此也许我可以更改为另一种类型,但恐怕会弄乱数据。 有一个主键字段:名称:ID-整数-这是一个标识...。所以我也需要考虑一下。也许将身份设置为N临时。 请告知如何实现REPLACE功能? 大约 需要使用新的解决方案更新3000条语句。
101 sql  sql-server  tsql 

4
如何在NULL列上创建唯一索引?
我正在使用SQL Server2005。我想将一列中的值限制为唯一,同时允许NULLS。 我当前的解决方案涉及到如下视图的唯一索引: CREATE VIEW vw_unq WITH SCHEMABINDING AS SELECT Column1 FROM MyTable WHERE Column1 IS NOT NULL CREATE UNIQUE CLUSTERED INDEX unq_idx ON vw_unq (Column1) 还有更好的主意吗?

4
PostgreSQL:从另一个表插入
我正在尝试将数据从另一个表插入到一个表中,并且这些表只有一个共同的列。问题在于,TABLE1的列将不接受空值,因此我不能将它们留空,也无法从TABLE2中获取它们。 我有TABLE1:id,col_1(不为null),col_2(不为null),col_3(不为null) 和TABLE2:id,col_a,col_b,col_c 因此,如何将ID从TABLE2插入到TABLE1中,并用诸如“ data1”,“ data2”,“ data3”的硬编码字符串填充col_1-3? INSERT INTO TABLE1 (id) SELECT id FROM TABLE2 WHERE col_a = "something"; 将导致: 错误:“ col_1”列中的空值违反了非空约束
101 sql  postgresql  insert  append 

13
SQL错误“ ORA-01722:无效的号码”
对某人来说非常简单,以下插入内容为我提供了 ORA-01722:编号无效 为什么? INSERT INTO CUSTOMER VALUES (1,'MALADY','Claire','27 Smith St Caulfield','0419 853 694'); INSERT INTO CUSTOMER VALUES (2,'GIBSON','Jake','27 Smith St Caulfield','0415 713 598'); INSERT INTO CUSTOMER VALUES (3,'LUU','Barry','5 Jones St Malvern','0413 591 341'); INSERT INTO CUSTOMER VALUES (4,'JONES','Michael','7 Smith St Caulfield','0419 853 694'); INSERT INTO CUSTOMER VALUES (5,'MALADY','Betty','27 Smith St …

10
生成3到6之间的随机整数值
是否有可能在Microsoft SQL Server中生成从最小值到最大值的随机int值(例如3-9,例如15-99等) 我知道,我可以从0生成最大值,但是如何增加最小值边框? 该查询生成从1到6的随机值。需要将其从3更改为6。 SELECT table_name, 1.0 + floor(6 * RAND(convert(varbinary, newid()))) magic_number FROM information_schema.tables 5秒后添加: 愚蠢的问题,对不起... SELECT table_name, 3.0 + floor(4 * RAND(convert(varbinary, newid()))) magic_number FROM information_schema.tables

5
SQL更新仅在修改列时触发
通过查看其他示例,我想出了以下内容,但它似乎并没有达到我想要的效果:我希望它仅在QtyToRepair值已更新的情况下才更新修改后的信息...但是它不这样做那。 如果我注释掉哪里,那么在每种情况下都会更新修改后的信息。正如我所说,其他例子使我感到乐观。任何线索表示赞赏。谢谢。 沃尔特 ALTER TRIGGER [dbo].[tr_SCHEDULE_Modified] ON [dbo].[SCHEDULE] AFTER UPDATE AS BEGIN SET NOCOUNT ON; UPDATE SCHEDULE SET modified = GETDATE() , ModifiedUser = SUSER_NAME() , ModifiedHost = HOST_NAME() FROM SCHEDULE S INNER JOIN Inserted I on S.OrderNo = I.OrderNo and S.PartNumber = I.PartNumber WHERE S.QtyToRepair <> I.QtyToRepair END
101 sql  sql-server  triggers 

11
如何从SQLAlchemy表达式获取原始的编译SQL查询?
我有一个SQLAlchemy查询对象,想要获取已绑定所有参数的已编译SQL语句的文本(例如,否%s或其他变量正等待语句编译器或MySQLdb方言引擎的绑定等)。 调用str()查询将显示如下内容: SELECT id WHERE date_added <= %s AND date_added >= %s ORDER BY count DESC 我试着在query._params中查找,但这是一个空字典。我使用装饰器的这个示例sqlalchemy.ext.compiler.compiles编写了自己的编译器,但即使那里的语句仍然有%s我想要的数据。 我无法弄清楚何时混入参数来创建查询。在检查查询对象时,它们始终是一个空字典(尽管查询执行得很好,并且当您打开echo记录时引擎会打印出来)。 我开始收到消息,SQLAlchemy不想让我知道底层查询,因为它破坏了表达式API接口的所有不同DB-API的一般性质。我不在乎查询是否在我发现查询之前就已经执行了;我只是想知道!
101 python  sql  mysql  sqlalchemy 

2
如何在MySQL中将字符串附加到现有字段?
我想将所有记录上的代码更新为当前的代码,再加上_standard任何想法? 因此,例如,如果代码是apple_1和apple_2,则我需要将它们设置为apple_1_standard和apple_2_standard 之前: id code ------------ 1 apple_1 1 apple_2 伪查询: update categories set code = code + "_standard" where id = 1; 预期结果: id code ---------------------- 1 apple_1_standard 1 apple_2_standard
101 sql  mysql  string 


9
找不到查询模式的实现
在我的Silverlight应用程序中,我试图使用LINQ创建数据库连接。首先,我向SQL类添加一个新的LINQ,并将名为“ tblPersoon”的表拖到其中。 然后在我的服务文件中,尝试执行以下查询: [OperationContract] public tblPersoon GetPersoonByID(string id) { var query = (from p in tblPersoon where p.id == id select p).Single(); 但是在tblPersoon,它给了我以下错误。 找不到源类型“ SilverlightApplication1.Web.tblPersoon”的查询模式的实现。找不到“哪里”。 即使我尝试以下操作: var query = (from p in tblPersoon select p).Single(); 它给我一个错误,提示找不到“选择”! 我的表的生成类的代码可以在这里找到:http : //pastebin.com/edx3XRhi 是什么原因造成的,我将如何解决? 谢谢。
101 c#  sql  silverlight  wcf  linq 

13
如何筛选具有多次通过关系的SQL结果
假设我有表student,club以及student_club: student { id name } club { id name } student_club { student_id club_id } 我想知道如何找到足球(30)和棒球(50)俱乐部中的所有学生。 虽然此查询不起作用,但这是我到目前为止最接近的东西: SELECT student.* FROM student INNER JOIN student_club sc ON student.id = sc.student_id LEFT JOIN club c ON c.id = sc.club_id WHERE c.id = 30 AND c.id = 50

14
如何选择最底端的行?
我可以选择SELECT TOP(200)...但是为什么不选择BOTTOM(200)? 难道不是要理解我的意思是,我怎么能做相当于TOP(200)的结果,但相反(从底部开始,就像您期望BOTTOM所做的那样...)?

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.