Questions tagged «sql»

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

5
PostgreSQL通过内部联接删除
DELETE B.* FROM m_productprice B INNER JOIN m_product C ON B.m_product_id = C.m_product_id WHERE C.upc = '7094' AND B.m_pricelist_version_id = '1000020' 我收到以下错误PostgreSQL 8.2.11 ERROR: syntax error at or near "B" LINE 1: DELETE B.* from m_productprice B INNER JOIN m_product C ON ... 我尝试给 DELETE B from m_productprice B INNER …
197 sql  postgresql 

15
多部分标识符无法绑定
我在SO上看到过类似的错误,但是我没有找到解决问题的方法。我有一个SQL查询,如: SELECT DISTINCT a.maxa , b.mahuyen , a.tenxa , b.tenhuyen , ISNULL(dkcd.tong, 0) AS tongdkcd FROM phuongxa a , quanhuyen b LEFT OUTER JOIN ( SELECT maxa , COUNT(*) AS tong FROM khaosat WHERE CONVERT(DATETIME, ngaylap, 103) BETWEEN 'Sep 1 2011' AND 'Sep 5 2011' GROUP BY maxa ) AS …



14
如何在不知道其名称的情况下删除SQL默认约束?
在Microsoft SQL Server中,我知道用于检查列是否存在默认约束并删除默认约束的查询是: IF EXISTS(SELECT * FROM sysconstraints WHERE id=OBJECT_ID('SomeTable') AND COL_NAME(id,colid)='ColName' AND OBJECTPROPERTY(constid, 'IsDefaultCnst')=1) ALTER TABLE SomeTable DROP CONSTRAINT DF_SomeTable_ColName 但是由于数据库的早期版本中有错字,约束的名称可能是DF_SomeTable_ColName或DF_SmoeTable_ColName。 如何删除没有任何SQL错误的默认约束?默认约束名称未显示在INFORMATION_SCHEMA表中,这使操作变得有些棘手。 因此,类似于“删除此表/列中的默认约束”或“删除DF_SmoeTable_ColName”之类的东西,但是如果找不到它,则不要给出任何错误。
196 sql  sql-server  tsql 

9
从列中选择唯一值
我有一个MySQL表,其中包含以下类型的信息: Date product 2011-12-12 azd 2011-12-12 yxm 2011-12-10 sdx 2011-12-10 ssdd 这是我用来从该表获取数据的脚本示例: <?php $con = mysql_connect("localhost","username","password"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("db", $con); $sql=mysql_query("SELECT * FROM buy ORDER BY Date"); while($row = mysql_fetch_array($sql)) { echo "<li><a href='http://www.website/". $row['Date'].".html'>buy ". date("j, M Y", strtotime($row["Date"]))."</a></li>"; } mysql_close($con); …
196 php  mysql  sql 

6
PostgreSQL交叉表查询
有谁知道如何在PostgreSQL中创建交叉表查询? 例如,我有下表: Section Status Count A Active 1 A Inactive 2 B Active 4 B Inactive 5 我希望查询返回以下交叉表: Section Active Inactive A 1 2 B 4 5 这可能吗?
196 sql  postgresql  pivot  case  crosstab 

12
sql查询返回两个表之间的差异
我试图比较两个表,SQL Server,以验证一些数据。我想返回两个表中的所有行,其中数据在一个或另一个中。本质上,我想展示所有差异。为此,我需要检查三个数据,名字,姓氏和产品。 我对SQL还是相当陌生,似乎我发现的许多解决方案都过于复杂。我不必担心NULL。 我首先尝试这样的事情: SELECT DISTINCT [First Name], [Last Name], [Product Name] FROM [Temp Test Data] WHERE ([First Name] NOT IN (SELECT [First Name] FROM [Real Data])) 不过,我无法继续进行此操作。 谢谢! 编辑: 根据@treaschf的回答,我一直在尝试使用以下查询的变体: SELECT td.[First Name], td.[Last Name], td.[Product Name] FROM [Temp Test Data] td FULL OUTER JOIN [Data] AS d ON …

3
外键约束:何时使用ON UPDATE和ON DELETE
我正在使用MySQL Workbench设计数据库架构,这很酷,因为您可以执行图并将其转换为:P 无论如何,由于它具有外键支持,所以我决定使用InnoDB。我注意到的一件事是,它允许您为外键设置On Update和Delete选项。有人可以在一个简单的示例中解释“限制”,“级联”和设置null的位置吗? 例如,假设我有一个user包含的表userID。说我有一个消息表message是一个多到许多有2个外键(其中引用同一个主键,userID在该user表)。在这种情况下,设置“更新时”和“删除时”选项是否有用?如果是这样,我该选择哪一个?如果这不是一个很好的例子,请您举一个很好的例子来说明这些例子如何有用? 谢谢


12
将数据插入临时表
创建了临时表并声明数据类型后,就这样; CREATE TABLE #TempTable( ID int, Date datetime, Name char(20)) 然后,如何插入数据库中物理表上已经保存的相关数据?

18
截断(不舍入)SQL Server中的小数位
我试图确定截断或删除SQL中多余的小数位而不舍入的最佳方法。例如: declare @value decimal(18,2) set @value = 123.456 这将自动舍@value入为123.46,这在大多数情况下很好。但是,对于这个项目,我不需要。有没有一种简单的方法可以截断我不需要的小数?我知道我可以使用该left()函数并将其转换回十进制。还有其他方法吗?
194 sql  sql-server  tsql  rounding 

19
将MySQL列更改为AUTO_INCREMENT
我试图AUTO_INCREMENT在事实发生后修改表使其成为主键列。我尝试了以下SQL,但是收到了语法错误通知。 ALTER TABLE document ALTER COLUMN document_id AUTO_INCREMENT 我做错什么了吗? + -------------------- + | VERSION()| + -------------------- + | 5.0.75-0ubuntu10.2 | + -------------------- +
194 sql  mysql  alter-table 


10
将主键添加到现有表
我有一个名为的现有表Persion。在此表中,我有5列: persionId 名称 PMid 说明 帕姆特 当我创造了这个表,我设置PersionId和Pname作为主键。 我现在想在主键-PMID中再增加一列。我该如何写ALTER声明来做到这一点?(表中已经有1000条记录)

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.