标签: query

SQL Server 2008 查询保存在日志中?

每次我创建查询并运行它以创建报告时,我都会将查询保存在我的 Projects 文件夹中,以防将来我必须重新运行查询或者由于任何原因必须修改它,但似乎出于某种原因我在六月中旬的某个时候运行的查询没有保存。我需要查看我在查询中使用的代码,因为我正在查看报告,但有些数字看起来不正确,因此我需要检查查询以查看代码中是否存在错误编写的内容。

无论如何,在某些日志中,我是否可以在 6 月份看到我运行(但未保存)的查询的代码?如果可以的话,这将是惊人的。谢谢!

sql-server-2008 query transaction-log

3
推荐指数
1
解决办法
1649
查看次数

单个查询返回单个记录中不同 ID 的计数

select count(title_id)as algodata from titles where pub_id =1389  
select count(title_id)as binnet   from titles where pub_id =0877  
select count(title_id)as newmoon  from titles where pub_id =0736
Run Code Online (Sandbox Code Playgroud)

使用的数据库pubs在 SQL Server 中。

我可以使用单个查询来显示单个记录中每个发布者(这里有 3 个发布者)的记录数吗?

sql-server query select

3
推荐指数
3
解决办法
2760
查看次数

哪个查询效率更高?

我有一张桌子叫 STUDENT

+-----------+-----------+-----------+---------------+
| StudentID | FirstName | LastName  | EnrollmenDate |
+-----------+-----------+-----------+---------------+
|         1 | x         | x         | x             |
|         2 | x         | x         | x             |
|         3 | x         | x         | x             |
+-----------+-----------+-----------+---------------+
Run Code Online (Sandbox Code Playgroud)

写一个查询,拉出最后注册的学生?

a) 按 EnrollmentDate Desc 从 STUDENTorder 中选择前 1 *

或者

b) select * from STUDENT where EnrollmentDate = (select Max(EnrollmentDate) from STUDENT)

面试的时候一般会问这个问题。一位候选人回答 b) 我期待 a)。哪个更好查询?

performance sql-server-2005 sql-server query query-performance

3
推荐指数
1
解决办法
351
查看次数

找出 [1, 161] 中哪些数字不在结果集中?

如何找到[1, 161]结果集中没有的两个数字?

我可以使用 sql 命令找到这两个数字吗?

mysql> select blog_id from wp_blogs;

...

|     149 |
|     150 |
|     151 |
|     152 |
|     153 |
|     154 |
|     155 |
|     156 |
|     157 |
|     158 |
|     159 |
|     160 |
|     161 |
+---------+
159 rows in set (0.25 sec)
Run Code Online (Sandbox Code Playgroud)

序列是从1到161,应该有161个数字,但结果集中只有159个数字。

mysql> select count(blog_id) from wp_blogs;
+----------------+
| count(blog_id) |
+----------------+
|            159 |
+----------------+
1 row in set (0.24 sec) …
Run Code Online (Sandbox Code Playgroud)

mysql query mysql-console gaps-and-islands

3
推荐指数
1
解决办法
2374
查看次数

避免自连接重复

给出下表my_table

my_column
------
A
B
C
D
Run Code Online (Sandbox Code Playgroud)

我希望能够加入自身,但没有重复的对,如下所示:

-- SELECT a.*, b.* FROM my_table a JOIN my_table b ON a.my_column <> b.my_column; 
-- something like so but without the duplicate pairs

a.my_column | b.my_column
------------+-----------
A           | B
A           | C
A           | D
B           | C
B           | D
C           | D
Run Code Online (Sandbox Code Playgroud)

我应该如何在 SQL 中解决这个问题?

mysql query self-join

3
推荐指数
1
解决办法
6383
查看次数

(POSTGRES) ON CONFLICT ... WHERE 条件似乎不起作用

我们正在尝试使用旧表中的信息为新功能填充新表,但我们将多次将此查询作为脚本运行,因为我们想要捕获任何用户更新的数据。

表 1 架构。

table1
id | email | first_name | last_name | job | phone | user_id | institution_id | institution_type | completion_state | created_at | updated_at | mobile_phone | deleted_at
----+-------+------------+-----------+-----+-------+---------+----------------+------------------+------------------+------------+------------+--------------+------------
Run Code Online (Sandbox Code Playgroud)

表 2 架构。

table2
 id | contact_id | status | data | created_at | updated_at | source_updated_at
----+------------+--------+------+------------+------------+-------------------
Run Code Online (Sandbox Code Playgroud)

这是我的查询


INSERT INTO table2 AS iic (contact_id, data, created_at, updated_at, source_updated_at)
SELECT
  cc.id,
  (
  SELECT row_to_json(_) FROM (
    SELECT
      cc.email,
      cc.first_name,
      cc.last_name,
      cc.job,
      cc.phone,
      cc.user_id,
      cc.institution_id,
      cc.institution_type,
      cc.completion_state,
      cc.updated_at, …
Run Code Online (Sandbox Code Playgroud)

postgresql query

3
推荐指数
1
解决办法
6347
查看次数

即使检查列名是否存在,列名也无效,因此应该跳过查询部分

我有以下查询:

    IF EXISTS( SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'NotificationTableLogRows' AND COLUMN_NAME = 'DestinationAddress') BEGIN  
      UPDATE NotificationTableLogRows
      SET [HandlerID] = m.ID
      FROM [Unicare].dbo.MobileDevices m
      WHERE HandlerID is null 
      AND m.CallNumber = NotificationTableLogRows.DestinationAddress AND NotificationTableLogRows.HandlerTypeID = 2
    END
print 'end'
Run Code Online (Sandbox Code Playgroud)

但运行后,我仍然收到错误:

Msg 207, Level 16, State 1, Line 6
Invalid column name 'DestinationAddress'.
Run Code Online (Sandbox Code Playgroud)

但是它应该只打印结束

我究竟做错了什么?

编辑:

即使:

IF 1 = 0 BEGIN
    UPDATE NotificationTableLogRows
    SET [HandlerID] = m.ID
    FROM [Unicare].dbo.MobileDevices m
    WHERE HandlerID is null 
    AND m.CallNumber = NotificationTableLogRows.DestinationAddress …
Run Code Online (Sandbox Code Playgroud)

sql-server query t-sql

3
推荐指数
1
解决办法
7111
查看次数

如何使用JOIN和SUM函数计算查询返回列的总数?

我跑了咆哮查询;

询问:

SELECT  j.jobId,
        j.productId,
        p.productUnitPrice
FROM    JobRequiredProducts J
JOIN    Product p
  ON    p.productId = j.productId
WHERE   j.jobId = 1
ORDER BY j.jobId
Run Code Online (Sandbox Code Playgroud)

并得到了以下结果;

查询结果:

jobId | productId | unitPrice 
_____________________________
  1   |     4     |   175.99
  1   |     5     |   100.00
  1   |     6     |   125.00
Run Code Online (Sandbox Code Playgroud)

现在,我想计算所有 unitPrice 以获得总数。我期望的结果是;

期待结果:

jobId | productId | Total
____________________________
  1   |     4     |   175.99
  1   |     5     |   100.00
  1   |     6     |   125.00
 null |    null   |   400.99
Run Code Online (Sandbox Code Playgroud)

因此,下面是我尝试过的查询;

我试过的查询:

SELECT  j.jobId, …
Run Code Online (Sandbox Code Playgroud)

join sql-server query sum

3
推荐指数
1
解决办法
236
查看次数

存储过程 sql server 中“+”附近的语法不正确

我正在编写一个存储过程,它将接受一个参数并向某些收件人发送邮件。我正在使用 sql 内置存储过程。

这是代码

create proc send_mail_admin(@usage_data as varchar(200))
as
begin

--get the list of mail admins from Users

declare @admin_list varchar(max);



set @admin_list = '';

--query to get all the admins

begin
    select 
        @admin_list = @admin_list + email + ';'
    from
        Users;
end

--call the mail stored procedure

exec msdb.dbo.sp_send_dbmail 
@profile_name='some_mail_profile',
@recipients=@admin_list,
@subject='Mail from sql server',
@body=@usage_data + ' end of data',
@importance='HIGH' ;



end;
Run Code Online (Sandbox Code Playgroud)

我在+符号中遇到错误。如果我删除+符号并执行,则该过程正在执行。否则它给出错误。请稍微帮助一下。

我正在基于知识尝试这个。因此,如果有的话,请随时分享发送这样的邮件的缺点。

谢谢你。

sql-server query stored-procedures syntax

3
推荐指数
1
解决办法
1603
查看次数

为什么在 MySQL 中使用 JSON_EXTRACT 时 0/false 返回 true

我有一个条件来选择一个错误的 JSON 文档值。

我的行:

1. {"my_value": false}
2. {"my_value": 0}
3. {"my_value": "0"}
4. {"my_value": null}
5. {"my_value": true} // this one got selected
Run Code Online (Sandbox Code Playgroud)

我的查询:

SELECT * FROM my_table
WHERE JSON_UNQUOTE(JSON_EXTRACT(my_column, '$.my_value')) = false
Run Code Online (Sandbox Code Playgroud)

即使true有价值,第 5 行也会被选中。我怎样才能防止这种情况?

版本是 MySQL 8.0.25。

mysql query json mysql-8.0

3
推荐指数
1
解决办法
325
查看次数