Tag: sql

有没有一个很好的LINQ方法来做笛卡尔产品?

我有一个像这样的类结构: Person Dogs (dog 1, dog 2, etc) Puppies (puppy A, puppy B, etc) 有一个人 他有1..n条狗。 每只狗有1..n只小狗。 我想要一个所有可能的小狗组合的列表,每只狗取一只小狗。 例如: 狗1小狗A狗2小狗狗1小狗A狗2小狗B狗1小狗B狗2小狗狗1小狗B狗2小狗B 如果是在sql表中,我会做类似下面的“乘”表: select * from puppies a, puppies b where a.parent='dog1' and b.parent='dog2' 有没有一些linq-ish的方式来做这种事情? 非常感谢

在MS SQL Server中创build保留字/关键字的表名

命名我的数据库表已经是关键字可以吗? 对于我的情况,我试图命名将容纳我的用户的表。 我把它命名为User,但在SQL Server Management Studio中显示为粉红色,所以我假设它是一个现有的系统表或关键字。 谢谢你的build议。 保留关键字的官方列表: 保留关键字(Transact-SQL)

PostgreSQL中的计算/计算列

PostgreSQL是否支持计算/计算列,如MS SQL Server? 我在文档中找不到任何内容,但由于此function包含在其他许多DBMS中,所以我想我可能会错过一些东西。 例如: http : //msdn.microsoft.com/en-us/library/ms191250.aspx

MySQL函数查找两个date之间的工作天数

Excel有NETWORKDAYS()函数,用于查找两个date之间的工作日数。 任何人都有类似的functionMySQL? 由于节假日增加了复杂性,解决scheme不必处理节假日。

在WHERE子句中使用别名

我有一个查询是为了向我显示表A中最近没有更新的任何行。 (每行应在“month_no”后2个月内更新): SELECT A.identifier , A.name , TO_NUMBER(DECODE( A.month_no , 1, 200803 , 2, 200804 , 3, 200805 , 4, 200806 , 5, 200807 , 6, 200808 , 7, 200809 , 8, 200810 , 9, 200811 , 10, 200812 , 11, 200701 , 12, 200702 , NULL)) as MONTH_NO , TO_NUMBER(TO_CHAR(B.last_update_date, 'YYYYMM')) as UPD_DATE FROM […]

PHP和MYSQL:如何解决JOIN操作中不明确的列名?

我在我的数据库中有两个表: 新闻('id' – 新闻ID,'用户' – 作者的用户ID) USERS('id' – 用户ID) 我想做一个SELECT * FROM news JOIN users ON news.user = user.id ,现在当我在PHP中得到的结果是这样的: $row = mysql_fetch_array($result) ,并获得列名$row['column-name'] …我如何获得新闻ID和用户ID,具有相同的列名? 更新:谢谢大家的快速答案。 别名似乎是最好的解决scheme。

防御mysql注入和跨站点脚本的最佳方式

目前,我申请了一个“把所有东西都扔在墙上,看看有什么坚持”的方法来阻止上述问题。 以下是我拼凑起来的function: function madSafety($string) { $string = mysql_real_escape_string($string); $string = stripslashes($string); $string = strip_tags($string); return $string; } 不过,我确信有更好的方法来做到这一点。 我正在使用FILTER_ SANITIZE_STRING,这似乎并不完全安全。 我想我在问,你们采用哪种方法,他们有多成功? 谢谢

非主键的外键

我有一个保存数据的表,其中一个行需要存在另一个表中。 所以,我想要一个外键保持参照完整性。 CREATE TABLE table1 ( ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY, AnotherID INT NOT NULL, SomeData VARCHAR(100) NOT NULL ) CREATE TABLE table2 ( ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY, AnotherID INT NOT NULL, MoreData VARCHAR(30) NOT NULL, CONSTRAINT fk_table2_table1 FOREIGN KEY (AnotherID) REFERENCES table1 (AnotherID) ) 但是,正如你所看到的,表中的我外键来说,列不是PK。 有没有办法创build这个外键,或者更好的方法来维护这个参照完整性?

从SQL语句的字段中删除前导零

我正在从SQLServer数据库中读取一个SQL查询来生成一个提取文件。 从特定字段(简单的VARCHAR(10)字段)中删除前导零的要求之一。 所以,例如,如果该字段包含“00001A”,则SELECT语句需要将数据返回为“1A”。 在SQL中有一种方法可以轻松地删除这种方式的前导零? 我知道有一个RTRIMfunction,但这似乎只是删除空格。

SQL – 在一个查询中更新多个logging

我有表 – configuration 。 架构: config_name | config_value config_name | config_value 我想在一个查询中更新多个logging。 我尝试那样: UPDATE config SET t1.config_value = 'value' , t2.config_value = 'value2' WHERE t1.config_name = 'name1' AND t2.config_name = 'name2'; 但该查询是错误的:( 你可以帮我吗?