Tag: sql

将列表<>传递给SQL存储过程

我经常不得不将多个项目加载到数据库中的特定logging。 例如:网页显示单个报表所包含的项目,所有项目都是数据库中的logging(报表是报表中的logging,项目是项目表中的logging)。 用户通过networking应用程序select要包括在单个报告中的项目,并且假设他们select3个项目并提交。 该过程将通过将logging添加到名为ReportItems(ReportId,ItemId)的表中,将这3个项目添加到此报告中。 目前,我会在代码中做这样的事情: public void AddItemsToReport(string connStr, int Id, List<int> itemList) { Database db = DatabaseFactory.CreateDatabase(connStr); string sqlCommand = "AddItemsToReport" DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand); string items = ""; foreach (int i in itemList) items += string.Format("{0}~", i); if (items.Length > 0) items = items.Substring(0, items.Length – 1); // Add parameters db.AddInParameter(dbCommand, "ReportId", DbType.Int32, […]

MySQL – 从前一行减去值,按组

我需要以SN号为基础的消费价值基础。 这是我的数据: TABLE EnergyLog SN Date Value 2380 2012-10-30 00:15:51 21.01 2380 2012-10-31 00:31:03 22.04 2380 2012-11-01 00:16:02 22.65 2380 2012-11-02 00:15:32 23.11 20100 2012-10-30 00:15:38 35.21 20100 2012-10-31 00:15:48 37.07 20100 2012-11-01 00:15:49 38.17 20100 2012-11-02 00:15:19 38.97 20103 2012-10-30 10:27:34 57.98 20103 2012-10-31 12:24:42 60.83 这是我需要的结果: SN Date Value consumption 2380 2012-10-30 00:15:51 […]

ORA-00904:无效的标识符

我尝试使用Oracle数据库编写以下内部连接查询: SELECT Employee.EMPLID as EmpID, Employee.FIRST_NAME AS Name, Team.DEPARTMENT_CODE AS TeamID, Team.Department_Name AS teamname FROM PS_TBL_EMPLOYEE_DETAILS Employee INNER JOIN PS_TBL_DEPARTMENT_DETAILS Team ON Team.DEPARTMENT_CODE = Employee.DEPTID 这给出了以下错误: INNER JOIN PS_TBL_DEPARTMENT_DETAILS Team ON Team.DEPARTMENT_CODE = Employee.DEPTID * ERROR at line 4: ORA-00904: "TEAM"."DEPARTMENT_CODE": invalid identifier 一个表的DDL是: CREATE TABLE "HRMS"."PS_TBL_DEPARTMENT_DETAILS" ( "Company Code" VARCHAR2(255), "Company Name" VARCHAR2(255), "Sector_Code" […]

dynamicSQL – EXEC(@SQL)与EXEC SP_EXECUTESQL(@SQL)

在SQL Server使用的存储过程中执行dynamicSQL命令的真实世界的利弊是什么? EXEC (@SQL) 与 EXEC SP_EXECUTESQL @SQL ?

SQL案例语句的语法?

什么是SQL Case语句的完整和正确的语法?

如何使用Laravel Query Builder从子查询中进行select?

我想通过使用Eloquent ORM的以下SQL来获得价值。 – 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; 我正在寻找更好的解决scheme。 请告诉我最简单的解决scheme。

内部连接的性能与交叉连接相比

发出内部连接的效果与在WHERE子句中声明连接条件的交叉连接相同。 我注意到我公司的很多人使用交叉连接,我将使用内部连接。 在改变这些查询之后,我没有注意到任何显着的性能增益,并且想知道是否只是巧合,或者DBMS是否透明地优化了这些问题(在我们的例子中是MySql)。 这里有一个讨论的具体例子: SELECT User.* FROM User, Address WHERE User.addressId = Address.id; SELECT User.* FROM User INNER JOIN Address ON (User.addressId = Address.id);

一次插入整个数据表到数据库而不是逐行?

我有一个DataTable,并需要将整个事物推送到数据库表。 我可以用foreach把它全部插入,每次插入一行。 由于有几千行,这个过程非常缓慢。 有没有办法一次完成整个数据表可能会更快? DataTable的列数less于SQL表的数量。 其余的应该留空。

做一个WHERE ..在学说2中的子查询

我想select具有特定项目的所有订单中的订单项目。 在SQL中,我会这样做: SELECT DISTINCT i.id, i.name, order.name FROM items i JOIN orders o ON i.order_id=o.id WHERE o.id IN ( SELECT o2.id FROM orders o2 JOIN items i2 ON i2.order_id=o2.id AND i2.id=5 ) AND i.id != 5 ORDER BY o.orderdate DESC LIMIT 10 我将如何做查询生成器这个查询?

在MySQL中search“全字匹配”

我想写一个SQL查询,在文本字段中search一个关键字,但只有当它是一个“全字匹配”(例如,当我search“摆脱”,它不应该匹配“干旱”,但它应该匹配“摆脱”。 我正在使用MySQL。 幸运的是,在这个应用程序中性能并不重要,数据库大小和string大小都很小,但是我宁愿在SQL中执行而不是在PHP中执行它。