Tag: sql

PostgreSQL多INSERT … RETURNING多列

我用Postgres 9.3build立一个数据库作为后台,有3个表格: table1 (user_id, username, name, surname, emp_date) table2 (pass_id, user_id, password) table3 (user_dt_id, user_id, adress, city, phone) 可以看出table2和table3是table1子表。 我可以提取table1 (父)中新插入行的user_id : INSERT INTO "table1" (default,'johnee','john','smith',default) RETURNING userid; 我需要将新提取的id(从table1 )插入到table2和table3 user_id列以及这些表的唯一其他数据。 基本上3 X INSERT … 我怎么做?

尝试多个SELECT直到结果可用的方法?

如果我想要以递减精度search表中的单个行,例如: SELECT * FROM image WHERE name LIKE 'text' AND group_id = 10 LIMIT 1 当这不给我结果,试试这个: SELECT * FROM image WHERE name LIKE 'text' LIMIT 1 而当这不给我结果,试试这个: SELECT * FROM image WHERE group_id = 10 LIMIT 1 只用一个expression式就可以做到这一点吗? 当我没有两个但是例如三个或更多个search参数时,也会出现问题。 有没有一个通用的解决scheme? 当search结果按其相关性sorting时,它当然会派上用场。

从函数调用dynamicSQL

我正在写一个函数返回一个表。 有两个parameter passing给函数,并且构build并执行查询并将其插入返回的表中。 但是我收到这个错误。 只有函数和一些扩展存储过程可以在一个函数内执行。 我想不使用存储过程,因为这是一个简单的实用程序function。 有谁知道这是否可以做到。 我的函数编码如下,它检查某个表内的某个列的愚蠢行为。 — ============================================= — AUTHOR: JON AIREY — THIS FUNCTION WILL RETURN A COUNT OF HOW MANY — TIMES A CERTAIN COLUMN VALUE APPEARS IN A — TABLE. THIS IS HELPFUL FOR FINDING DUPES. — THIS FUNCTION WILL ACCEPT A COLUMN NAME, TABLE — NAME (MUST INCLUDE SCHEMA), […]

MySql Group By和其他列的总和值

我有2列像这样 我希望结果是狗6和象2.迄今为止我所做的(而失败的)是这样的 select单词,SUM(金额)从Data组按'单词'

有没有办法在SQL Server中使用方括号?

在Microsoft SQL Server中,我有一个名为[Key]的表,但我讨厌每次都必须将它作为[Key]来处理。 所以我把它改名为ki 。 那么,至less方括号已经消失了。 现在我想要做的是: CREATE SYNONYM Key FOR ki 但是这没有用。 我想我运气不好。 还有其他好点子吗? 我从来没有一个复杂的名字像人或地址或任何东西的表。 它始终是人员表或地址表。

简单的PHP SQLlogin故障排除

我试图通过从数据库中检索一个已注册的用户名/密码来创build一个非常基本的PHPlogin。 这是不是一直活着,我知道有零inputvalidation。 我想要做的就是在login中从数据库中select数据。 以下是index.html上的login表单: <table width="250" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"> <tr> <form name="form1" method="post" action="checklogin.php"> <td> <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"> <tr> <td colspan="3"><strong>Member Login </strong></td> </tr> <tr> <td width="78">Username</td> <td width="6">:</td> <td width="294"><input name="Username" type="text" id="Username"></td> </tr> <tr> <td>Password</td> <td>:</td> <td><input name="Password" type="text" id="Password"></td> </tr> <tr> <td>&nbsp;</td> <td>&nbsp;</td> <td><input type="submit" name="Submit" value="Login"></td> […]

数据库devise规范文本?

我发现在这个问题的答复中描述的Bertrand Meyer的面向对象的软件构造在逐渐成为面向对象方面是非常宝贵的。 它改变了我想写代码的方式,并且间接地影响了我从那时起写的大部分内容。 我需要在一些我正在使用的项目中使用一些中型数据库,而且我希望对关系数据库有相同的performance。 我理解的基本概念 – 表包含组织成列的数据行,一些列作为一个关键的特殊function,键用于构build不同表之间的行关系,但我有兴趣获得这个理论的一个句柄决定了数据库devise的最佳实践。 是否有一个规范的文本,我可以读取这种理解? 是否有每个专业DBA都读过的东西? 我将使用ORM – SQLAlchemy – 这些项目,但我有兴趣以平台不可知的方式学习概念,因为我发现大多数SQLAlchemy教程更多地关注SQLAlchemy的机制而不是数据库的基础知识。

join多个具有活动logging的表格

我想知道位于孙子孙女选项卡上的横幅名称。 以下是我的数据库: Inscription (where I need to start from): Item1_id Item1: Item2_id Item2: Banner_id Banners: name 我如何获得有效logging的铭文表的所有横幅名称?

拆分给定的string,并准备case语句

表 :table_name create table table_name ( given_dates timestamp, set_name varchar ); 插入logging : insert into table_name values('2001-01-01'),('2001-01-05'),('2001-01-10'), ('2001-01-15'),('2001-01-20'),('2001-01-25'), ('2001-02-01'),('2001-02-05'),('2001-02-10'), ('2001-02-15'); 现在我想更新一些date的set_name。 例如 : 我想要这样更新表格: given_dates set_name ———————- 2001-01-01 s1 2001-01-05 s1 2001-01-10 s2 2001-01-15 s2 2001-01-20 2001-01-25 2001-02-01 2001-02-05 2001-02-10 2001-02-15 注意 : given_dates和set_name是传递参数,因为它们是dynamic的。 我可以按照上面s1,s2通过2台s1,s2也可以按要求通过4台。 所以我需要dynamic的case语句来更新set_name 。 给定两个参数 : declare p_dates varchar := '2001-01-01to2001-01-05,2001-01-10to2001-01-15'; declare […]

什么是在半径内查找大表的最快方法MySQL(纬度经度)

目前我有几个100k +行的表。 我正在试图查找如下的数据。 SELECT *, SQRT(POW(69.1 * (latitude – '49.1044302'), 2) + POW(69.1 * ('-122.801094' – longitude) * COS(latitude / 57.3), 2)) AS distance FROM stops HAVING distance < 5 ORDER BY distance limit 100 但是目前这种方法在高负载下变慢。 有些查询需要20多秒才能完成。 如果有人知道任何更好的方法来优化这将是伟大的。