javascript

java

python

c#

android

node.js

reactjs

c++

php

html

jquery

css

git

.net

ios

ruby-on-rails

sql

c

string

ruby

mysql-如何在phpMyAdmin中查看我的存储过程?

我在phpMyAdmin中创建了一个存储过程

CREATE PROCEDURE Sample()
SELECT * FROM feedback

在哪里可以看到此程序? 如果在phpMyAdmin中是不可能的,那么哪些好的程序具有写,存储和查看存储过程,表等的功能?

trans by 2019-11-19T02:49:21Z

从SQL中的给定日期获取星期几名称

我正在尝试从给定日期获得一个周五,周六,周日,周一等日期名称。 我知道有一个内置函数可以返回日期名称,例如:

SELECT DATENAME(dw,'09/23/2013') as theDayName 

此SQL查询返回:

'星期一'

都可以 但我想单独通过DATENAME

我正在使用内置的DATEPART函数从日期中检索月,日和年,因此可以将其传递给DATENAME函数:

SELECT DATEPART(m, GETDATE()) as theMonth  -- returns 11
SELECT DATEPART(d, GETDATE()) as theDay   -- returns 20
SELECT DATEPART(yy, GETDATE()) as theYear   -- returns 2013

现在,我分别具有月,日,年值,将其传递给我的DATENAME以获取我想要的日期Weekname

--my SQL query to return dayName
SELECT (DATENAME(dw, DATEPART(m, GETDATE())/DATEPART(d, myDateCol1)/ DATEPART(yy, getdate())))  as myNameOfDay, FirstName, LastName FROM myTable

这将返回不正确的日期名称。 我尝试用/替换-,以便在DATENAME函数中,我的SQL查询变为:

SELECT DATENAME(dw,'09/23/2013') 
--becomes
SELECT DATENAME(dw,'09-23-2013') 

但是它仍然从我的SQL查询返回不正确的dayName。 我在这里想念什么吗?

请指教。

trans by 2019-11-18T22:26:09Z

mysql-您可以在SQL中定义“文字”表吗?

是否有任何SQL子查询语法可让您从字面上定义临时表?

例如,类似

SELECT
  MAX(count) AS max,
  COUNT(*) AS count
FROM
  (
    (1 AS id, 7 AS count),
    (2, 6),
    (3, 13),
    (4, 12),
    (5, 9)
  ) AS mytable
  INNER JOIN someothertable ON someothertable.id=mytable.id

这样可以省去执行两个或三个查询的步骤:创建临时表,将数据放入其中,然后在联接中使用它。

我正在使用MySQL,但会对其他可以做类似事情的数据库感兴趣。

trans by 2019-11-18T04:04:03Z

如何在SQL Server数据库中添加auto_increment主键?

我有一个表设置,当前没有主键。 我需要做的就是添加NVARCHAR

我正在使用NVARCHAR数据库。 我知道这不可能在单个命令中完成,但是我尝试的每个命令都会不断返回语法错误。

编辑---------------

我创建了主键,甚至将其设置为非null。 但是,我无法设置NVARCHAR

我试过了:

ALTER TABLE tableName MODIFY id NVARCHAR(20) auto_increment
ALTER TABLE tableName ALTER COLUMN id NVARCHAR(20) auto_increment
ALTER TABLE tableName MODIFY id NVARCHAR(20) auto_increment
ALTER TABLE tableName ALTER COLUMN id NVARCHAR(20) auto_increment

我正在使用NVARCHAR,因为它不允许我将NOT NULL设置为int

trans by 2019-11-18T01:59:18Z

sql-如何在PostgreSQL中使用(安装)dblink?

我习惯使用Oracle并在我的架构中创建dblink,然后访问如下所示的远程数据库:could not establish connection,无论如何,PostgreSQL都可以这样做吗?

现在,我正在像这样使用dblink:

SELECT logindate FROM dblink('host=dev.toto.com
                              user=toto
                              password=isok
                              dbname=totofamily', 'SELECT logindate FROM loginlog');

当我执行此命令时,出现以下错误:

提示:没有函数匹配给定的名称和参数类型。 您可能需要添加显式类型转换。

有人有主意吗? 使用它们之前,我们是否必须“激活” dblink或执行某些操作?

在我们要查询的远程数据库上有什么事情要做吗? 我们也必须激活dblink吗? 我一直有could not establish connection。这是以下行:

SELECT dblink_connect_u('host=x.x.x.x dbname=mydb user=root port=5432');

IP地址正确,并且Postgres正在远程服务器上运行。 任何想法?

trans by 2019-11-16T23:28:28Z

sql-MySQL中的Case语句

我有一个名为“ tbl_transaction”的数据库表,其定义如下:

id INT(11) Primary Key
action_type ENUM('Expense', 'Income')
action_heading VARCHAR (255)
action_amount FLOAT

我想生成两列:Income AmtExpense Amt

是否可以仅使用SQL查询有条件地填充列,以使输出出现在正确的列中,具体取决于它是费用项目还是收入项目?

例如:

ID        Heading         Income Amt       Expense Amt
1         ABC             1000             -
2         XYZ             -                2000

我正在使用MySQL作为数据库。 我正在尝试使用CASE语句来完成此操作。

干杯!

trans by 2019-11-16T22:46:32Z

SQL Server:如何添加新的标识列并使用ID填充列?

我有一个包含大量数据的表。 我想添加额外的列id并将其用作主键。 什么是用一个1row count中的值填充此列的更好方法

目前,我正在使用游标并逐行更新行。 需要几个小时。 有办法更快地做到这一点吗?

谢谢

trans by 2019-11-16T12:30:16Z

sql-ON子句中的MySQL未知列

我有以下MySQL查询:

SELECT p.*,
    IF(COUNT(ms.PropertyID) > 0,1,0) AS Contacted,
    pm.MediaID,
    date_format(p.AvailableFrom, '%d %b %Y') AS 'AvailableFrom',
    astext(pg.Geometry) AS Geometry
FROM property p, propertygeometry pg
    JOIN shortlist sl ON sl.PropertyID = p.id AND sl.MemberID = 384216
    LEFT JOIN message ms ON ms.PropertyID = p.id AND ms.SenderID = 384216
    LEFT JOIN property_media pm ON pm.PropertyID = p.id AND pm.IsPrimary = 1
WHERE p.paused = 0
    AND p.PropertyGeometryID = pg.id
GROUP BY p.id

我收到此错误:

#1054-'on子句'中的未知列'p.id'

据我所知,查询看起来是正确的,知道发生什么了吗?

trans by 2019-11-16T01:32:43Z

java-休眠联盟替代品

使用冬眠实现联合查询,我有什么选择? 我知道休眠状态目前不支持联合查询,现在我看到的建立联合的唯一方法是使用视图表。

另一个选择是使用普通的jdbc,但是这样一来,我将失去所有示例/条件查询功能,以及hibernate对表/列执行的hibernate映射验证。

trans by 2019-11-15T16:54:53Z

sql-如何在不创建存储过程的情况下将多行连接到Oracle中?

这个问题在这里已有答案:

  • SQL查询以串联Oracle中多个行的列值                                     11个答案

如何在不创建存储过程的情况下在oracle中实现以下目标?

资料集:

question_id    element_id
1              7
1              8
2              9
3              10
3              11
3              12

预期结果:

question_id    element_id
1              7,8
2              9
3              10,11,12
trans by 2019-11-15T11:34:42Z

sql-如何增加sqlplus列的输出长度?

我有一些查询,可以从架构中找出某些对象的ddl。我得到的结果列在查询中间被截断。

如何增加列的宽度?

我尝试过

SET SERVEROUTPUT ON SIZE 1000000;
SET LINESIZE 50000;
set pagesize 50000;
set long 50000;

但是我仍然得到相同的结果。

trans by 2019-11-15T11:16:00Z

sql-Oracle:在WHERE子句中`(+)`有什么作用?

在我们正在迁移(通用)的基于Oracle的应用程序中找到以下内容:

SELECT
    Table1.Category1,
    Table1.Category2,
    count(*) as Total,
    count(Tab2.Stat) AS Stat
FROM Table1, Table2
WHERE (Table1.PrimaryKey = Table2.ForeignKey(+))
GROUP BY Table1.Category1, Table1.Category2

(+)在WHERE子句中做什么? 我从未见过像以前那样使用过。

trans by 2019-11-15T04:23:53Z

sql-在Doctrine 2中执行WHERE .. IN子查询

我想从带有特定商品的所有订单中选择订单商品。 在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

如何使用查询生成器执行此查询?

trans by 2019-11-14T22:35:18Z

我应该在数据库连接字符串中设置最大池大小吗? 如果我不这样做会怎样?

这是我的数据库连接字符串。 直到现在我都没有设置最大池大小。

public static string srConnectionString = 
                       "server=localhost;database=mydb;uid=sa;pwd=mypw;";

那么目前我的应用程序支持多少个连接? 增加连接池大小的正确语法是什么?

该应用程序是用C#4.0编写的。

trans by 2019-11-14T18:20:53Z

sql-TSQL DATETIME ISO 8601

已为我提供了一种要求ISO 8601日期格式的规范,是否有人知道转换代码或获取这2个示例的方式:

ISO 8601 Extended Date 2000-01-14T13:42Z 
ISO 8601 Basic Date 20090123T105321Z
trans by 2019-11-14T15:45:29Z

sql-如何在Linux上比较两个SQLite数据库

使用Linux,我想比较两个具有相同架构的SQLite数据库。只会有一些差异。

有没有可以输出这些差异的工具?最好将它们输出到命令行,以便我可以grep / sed它们。

SQLite使用SQL,因此一般的SQL工具也可以使用。

trans by 2019-11-14T15:26:49Z

sql-CTE错误:“锚点和递归部分之间的类型不匹配”

我正在执行以下语句:

;WITH cte AS (
  SELECT 
    1 as rn, 
    'name1' as nm
  UNION ALL
  SELECT 
    rn + 1,
    nm = 'name' + CAST((rn + 1) as varchar(255))
  FROM cte a WHERE rn < 10)
SELECT * 
FROM cte

...以错误结束...

Msg 240, Level 16, State 1, Line 2
Types don't match between the anchor and the recursive part in column "nm" of recursive query "cte".

我在哪里犯错?

trans by 2019-11-14T14:40:20Z

SQL Server-是否有一种优雅的方法来反转SQL插入语句中的位值?

我正在SQL Server中转换一些数据:

INSERT INTO MYTABLE (AllowEdit)
(Select PreventEdit from SOURCETABLE)

所以我需要反转源表中的位值。 我希望NOT可以正常工作,因为这是我在代码中的处理方式,但事实并非如此。 我能想到的最优雅的方法是:

INSERT INTO MYTABLE (AllowEdit)
(Select ABS(PreventEdit -1) from SOURCETABLE)

有更标准的方法吗?

trans by 2019-11-14T11:21:04Z

sql-MySQL:从嵌入式子查询返回多个列

我正在创建一条SQL语句,该语句将按月返回销售摘要。

该摘要将列出一些简单的列,用于显示日期,总销售数量和总销售价值。

但是,除了这些列之外,我还要再添加3个,以按花费金额列出最佳客户月份。 对于这些列,我需要某种内联子查询,这些子查询可以返回其ID,名称和所花费的金额。

我目前的工作是使用内联SELECT语句,但是,根据我对如何实现这些语句的了解,每个内联语句只能返回一个列和一行。

为了解决我的问题,我当然可以创建3个单独的内联语句,但是,除了这似乎不切实际之外,它还会使查询时间增加所需的时间。

SELECT  
    DATE_FORMAT(OrderDate,'%M %Y') AS OrderMonth,
    COUNT(OrderID) AS TotalOrders, 
    SUM(OrderTotal) AS TotalAmount, 

    (SELECT SUM(OrderTotal) FROM Orders WHERE DATE_FORMAT(OrderDate,'%M %Y') = OrderMonth GROUP BY OrderCustomerFK ORDER BY SUM(OrderTotal) DESC LIMIT 1) AS TotalCustomerAmount,

    (SELECT OrderCustomerFK FROM Orders WHERE DATE_FORMAT(OrderDate,'%M %Y') = OrderMonth GROUP BY OrderCustomerFK ORDER BY SUM(OrderTotal) DESC LIMIT 1) AS CustomerID,

    (SELECT CustomerName FROM Orders INNER JOIN Customers ON OrderCustomerFK = CustomerID WHERE DATE_FORMAT(OrderDate,'%M %Y') = OrderMonth GROUP BY OrderCustomerFK ORDER BY SUM(OrderTotal) DESC LIMIT 1) AS CustomerName

FROM Orders     
GROUP BY DATE_FORMAT(OrderDate,'%m%y')
ORDER BY DATE_FORMAT(OrderDate,'%y%m') DESC

我如何更好地构造此查询?


完整答案

在对Dave Barkers解决方案进行了一些调整之后,我为将来寻求帮助的任何人提供了最终版本。

戴夫·巴克(Dave Barker)的解决方案与客户详细信息完美配合,但是,使“总销售额”和“总销售额”列更为简单的情况却有些疯狂。

SELECT  
        Y.OrderMonth,   Y.TotalOrders,  Y.TotalAmount,
        Z.OrdCustFK,  Z.CustCompany,    Z.CustOrdTotal, Z.CustSalesTotal   


 FROM 
        (SELECT
            OrdDate,
            DATE_FORMAT(OrdDate,'%M %Y') AS OrderMonth, 
            COUNT(OrderID) AS TotalOrders, 
            SUM(OrdGrandTotal) AS TotalAmount
            FROM Orders
            WHERE OrdConfirmed = 1    
            GROUP BY DATE_FORMAT(OrdDate,'%m%y') 
            ORDER BY DATE_FORMAT(OrdDate,'%Y%m') DESC)
    Y INNER JOIN 
        (SELECT 
            DATE_FORMAT(OrdDate,'%M %Y') AS CustMonth, 
            OrdCustFK, 
            CustCompany, 
            COUNT(OrderID) AS CustOrdTotal,
            SUM(OrdGrandTotal) AS CustSalesTotal 
        FROM Orders INNER JOIN CustomerDetails ON OrdCustFK = CustomerID
        WHERE OrdConfirmed = 1
        GROUP BY DATE_FORMAT(OrdDate,'%m%y'), OrdCustFK 
        ORDER BY SUM(OrdGrandTotal) DESC) 
    Z ON Z.CustMonth = Y.OrderMonth

GROUP BY DATE_FORMAT(OrdDate,'%Y%m')
ORDER BY DATE_FORMAT(OrdDate,'%Y%m') DESC
trans by 2019-11-13T22:38:51Z

mysql-从一个表中选择而不在另一个中

我正在尝试查找一个表中的行,而不是另一个表中的行,这两个表都在不同的数据库中,并且在我要用来匹配的列上也有不同的列名。

我有一个查询,下面的代码,我认为它可能有效,但是速度太慢:

SELECT `pm`.`id`
FROM `R2R`.`partmaster` `pm`
WHERE NOT EXISTS (
    SELECT * 
    FROM `wpsapi4`.`product_details` `pd`
    WHERE `pm`.`id` = `pd`.`part_num`
)

因此查询尝试执行以下操作:

从R2R.partmaster数据库中选择所有不在wpsapi4.product_details数据库中的ID。 我匹配的列是partmaster.id和product_details.part_num

trans by 2019-11-13T16:35:31Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共91页