Tag: sql

在同一列上select多个WHERE条件

好吧,我想我可能忽略了一些明显/简单的东西…但是我需要写一个查询,只返回匹配同一列上的多个条件的logging。 我的表是一个非常简单的链接设置,用于将标志应用于用户… ID contactid flag flag_type ———————————– 118 99 Volunteer 1 119 99 Uploaded 2 120 100 Via Import 3 121 100 Volunteer 1 122 100 Uploaded 2 等等…在这种情况下,你会看到联系99和100被标记为“志愿者”和“上传”… 我需要做的只是返回那些仅仅匹配通过search表单input的多个标准的联系人…联系人必须匹配所有select的标志…在我的脑海中,SQL应该看起来像这样: SELECT contactid WHERE flag = 'Volunteer' AND flag = 'Uploaded'… 但是……没有任何回报……我在这里做错了什么?

loggingSQL Server 2008 Express数据库上的所有查询?

有没有办法告诉SQL Server 2008 Express将每个查询(包括每个SELECT Query!)都logging到一个文件中? 这是一个开发机器,所以日志Select-Queries的负面影响不是问题。 之前有人build议使用SQL事件探查器:这不是在Express中可用(没有人知道,如果它是可用的networking版?),我正在寻找一种方式来logging查询,即使当我不在。

如何更新表中的一行或插入它,如果它不存在?

我有下面的表格: CREATE TABLE cache ( key text PRIMARY KEY, generation int ); 我想递增其中一个计数器,或者如果相应的行不存在,则将其设置为零。 有没有办法做到这一点没有并发问题在标准的SQL? 操作有时是交易的一部分,有时是分开的。 如果可能,SQL必须在SQLite,PostgreSQL和MySQL上未修改。 search产生了一些想法,这些想法可能会遇到并发问题,或者特定于数据库: 尝试INSERT一个新行,并UPDATE是否有错误。 不幸的是, INSERT上的错误会中止当前事务。 UPDATE该行,如果没有行被修改,则INSERT一个新行。 MySQL有一个ON DUPLICATE KEY UPDATE子句。 编辑:感谢所有伟大的答复。 看起来保罗是对的,而且没有一种便携式的方法可以做到这一点。 这对我来说是相当惊人的,因为这听起来像是一个非常基本的操作。

SQL语句来select前一天的所有行

我正在寻找一个好的SQL语句来从一个表中select前一天的所有行。 该表包含一个date时间列。 我正在使用SQL Server 2005。

哪个SQL查询更好,MATCH AGAINST或LIKE?

要在数据库中search任何列“foo_desc”和“bar_desc”中具有关键字“foo”和“bar”的行,我会这样做: SELECT * FROM t1 WHERE MATCH (t1.foo_desc, t2.bar_desc) AGAINST ('+foo* +bar*' IN BOOLEAN MODE) 要么 SELECT * FROM t1 WHERE (CONCAT(t1.foo_desc, t2.bar_desc) LIKE '%foo%') AND (CONCAT(t1.foo_desc, t2.bar_desc) LIKE '%bar%') 我期望最后一个查询的缺点是性能。 好处在于,LIKE查询findMATCH AGAINST所没有的“xxfoo”。 哪一个是首选的,还是有更好的解决scheme?

在SQL Server中存储文件

这是我所知道的一个老问题,但是对于SQL Server 2012来说,将文件存储在数据库中最终还是可以的,还是应该将它们保存在文件系统中,只在数据库中引用它们? 如果现在把它们存入数据库被认为是可以接受的,那么最有效的方法是什么? 我打算申请encryption,所以我感谢处理不会闪电般快速。 谢谢

计算多列的DISTINCT

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

SQL Server SELECT到JSON函数

我想输出一个SELECT语句的结果作为JSON对象。 我想这是一个function,而不是一个存储过程 ! 例如,下表中的用户 id name active 1 Bob Jones 1 2 John Smith 0 会像这样返回: [{"id":1,"name":"Bob Jones","active":1},{"id":2,"name":"John Smith","active":0}] 提前致谢。

分页SQL Server 2005结果

如何在SQL Server 2005中分页结果? 我在SQL Server 2000中试过,但没有可靠的方法来做到这一点。 我现在想知道如果SQL Server 2005有任何内置的方法? 我的意思是分页,例如,如果我通过他们的用户名列出用户,我希望能够只返回前10条logging,然后是下10条logging等等。 任何帮助将不胜感激。

什么是免费的工具来比较两个SQL Server数据库?

什么是免费的工具来比较两个Sql Server表(数据和架构)。 如果该工具可以编写发现的差异,那将是非常好的。 我也经历了一些较旧的post 。 我看到的最接近的是SQLDBDiff,但我想尝试更多的select。