因此,我对SQL相当陌生,在我目前的实习期间,我的任务是修改/记录程序。
为了直接讨论这个问题,我在一个表上运行了以下查询:
SELECT COUNT(*) as NumofAccounts
FROM Accounts
WHERE Deleted = 0
AND Account_ID In ( SELECT DISTINCT Account_ID FROM Tasks WHERE Deleted = 0 );
得到NumofAccounts = 18的结果。
然而,最初的查询是:
SELECT COUNT(*) as NumofAccounts
有没有更好的方法来编写这个SQL查询?
SELECT *, (SELECT TOP 1 columnB FROM mytable WHERE mytable.columnC = T1.columnC ORDER BY columnD) as firstRecordOfColumnB
FROM
(SELECT * FROM mytable WHERE columnA = 'apple') as T1
请注意,columnC不是主键。
假设您有一个查询(PL-SQL),例如:
Select a.*
From Table a
Where a.foo in (@1)
or a.bar in (@1);
其中@1是包含大约10.000个(字符串)参数的列表。是的,该列表在两个限制中都是重复的。对于任何给定行,则为a.foo <> a.bar。
这个列表来自一个set服务,它会根据一组参数而变化。假设不可能存储它们。此列表中的字符串是9个字符的数字字符串,如'001234567‘。
有没有更好的方法来组织这个查询?
有没有更好的方法呢?
us = User.objects.filter(id=someid)
if us.exists():
u = us[0]
正如我在sql日志中看到的,us.exists()将执行一个sql查询,然后u= us将执行另一个查询。所以我们必须做两个查询才能完成任务。我只是想要一个更好的方法来做这件事
我有一个简单的超文本标记语言页面,我只在我的内部网的本地计算机上使用它来使用Javascript和ActiveX创建动态SQL查询,以便与我的SQL Server数据库进行交互(是的,客户端Javascript可以使用IE和ActiveX对象与SQL数据库进行交互)。它最初是作为一种快速、短期的解决方案创建的(我知道它是不安全的,而且客户端DB访问是一种糟糕的做法)。
情况已经改变了,我需要一个永久的解决方案。我认为ASP.NET MVC应用程序将是最干净的解决方案。我没有使用它的经验,所以我一直在阅读它,并使用教程开始构建我的页面。我的问题是关于我的原始应用程序中的Javascript dy
我有下面的SQL语句,它执行子查询连接。如果您注意到了,它使用的是FOR XML ..。好吧..。让我不寒而栗::我觉得这是一些代码的味道。
对于SQL Server 2008,有没有更好的方法来实现这一点?
SELECT a.CityId AS LocationId, a.City,
STUFF(
(SELECT ', ' + x.County
FROM [dbo].[CountiesView] x
INNER JOIN [dbo].[CityCounties] y ON x.CountyId = y.Cou
有没有办法用SQL编写这个SQL查询?
select (select count(*) from a) / (select count(*) from b) as ratio;
我已经做了显而易见的事情:
DB.fetch("select (select count(*) from a) / (select count(*) from b) as ratio")
但我想知道是否有一种更常用的SQL方法来实现这一点。
这里有没有一种很好的方法来获得总计--这个查询显示了每天的小计,但是我如何在没有子查询或另一个查询的情况下获得每个小计的总计
还有比计算sum更好的方法吗?
SELECT loguser,logdate,logaction,logtime
FROM log WHERE loguser IN
('scott') AND logdate
BETWEEN '2011-06-01' AND '2011-06-15'
ORDER BY logdate DESC
COMPUTE SUM(logtime) BY logdate
SQL S
我有一个包含ID和START_DATE两列的Oracle表,我想运行一个查询来获取具有最近日期的记录的ID,最初我写道:
select id from (select * from mytable order by start_date desc) where rownum = 1
有没有更干净、更有效的方法来做这件事?我经常在SQL中遇到这种模式,最终创建一个嵌套查询。
我使用的是SQL Server2014,我有一个名为MyDatabase的数据库,其中包含几个表。我有一个名为User1的用户,他对数据库具有读取权限。 假设我想阻止User1访问一个名为tbl1的表(即查询或查看这个表),我该怎么做呢? 在StackOverflow上搜索,我遇到了这个问题:SQL Server : can you limit access to only one table 根据该问题中被接受的答案,我的SQL查询将如下所示: exec sp_msforeachtable "DENY SELECT ON tbl1 TO [User1];"
GO 这是正确的
我有一个SQL查询,如下所示。
SELECT A.a, count(B.id)
FROM TableA A inner join TableA B on A.referId = B.id
WHERE A.id in (123,2424,232...)
GROUP BY A.id
执行此查询时
行首先使用where子句进行筛选,然后执行联接,或者
首先执行联接,然后对行进行筛选?
我正在MySQL服务器上运行这个查询。假设TableA包含百万行。有没有其他有效的方法来写这个查询?
我有这个linq to sql查询:
var items =
from i in context.Items
orderby i.itemId descending
select new ItemWithCategories
{
item = i,
categories = (
from cats in context.categories
join ic in context.itemCategories
on cats.categoryId e
我有一个Python函数,它接收大量变量,并从中构建一个SQL查询:
def myfunc(name=None, abbr=None, grade=None, ...)
这些值应构建一个SQL查询。为此,那些等于None的人应该改为NULL,而那些存储有用值的人应该包含在'中:
name="'"+name+"\'" if name else 'NULL'
abbr="'"+abbr+"\'" if abbr else 'NULL'
...
Lots of li
我是这个论坛的新手,我的MySQL/PHP站点让我左右为难。现在我已经创建了一个函数,它将一个SQL查询传递给它并执行它。我没有考虑到的是,传递给函数的SQL查询显示在所有浏览器的“视图源”中;这是一个很大的安全问题,因为黑客可以看到查询。下面是该函数的一个片段:
// connect to MySQL
$connection = mysql_connect($host,$username,$password) or die("Couldn't connect to MySQL". mysql_error());
// selects the database
$d
我正在从RATOR_MONITORING模式运行以下查询,该查询将授予从RATOR_MONITORING_CONFIGURATION.SMSC_GATEWAY表到RATOR_MONITORING模式的reference权限。
GRANT REFERENCES ON "RATOR_MONITORING_CONFIGURATION"."SMSC_GATEWAY" TO "RATOR_MONITORING";
ALTER TABLE "RATOR_MONITORING"."SMSC_GATEWAY_STATUS" A
我有一个表,其中包含呼叫号码和时间戳等数据。我想找出最近的十个独特的调用。此SQL查询的工作方式如下:
SELECT first 10 t.originatordn
FROM
(SELECT DISTINCT a.originatordn,a.startdatetime AS time
FROM contactcalldetail a
WHERE originatordn <> '') t
ORDER BY t.time DESC
问题是这个表有超过400万条记录,所以它非常慢。有没有更好的方法来做这个查询?
我正在寻找一种方法来优化我拥有的一个SQL查询。我想知道有多少首诗属于某一流派。
查询如下所示:
SELECT
COUNT(*)
FROM
`poems`
WHERE `id` IN (
SELECT `poem_id`
FROM `poems_genres`
WHERE `genre_title` = 'derision'
)
AND `status` = 'finished';
我想创建一个时间表来操作服务器上的一些数据。我有存储过程,其中有一些sql查询。现在我想每天执行这个sp。
为此,我使用sp_add_job、sp_add_schedule等创建了作业、调度。现在,所有这些都需要在我的客户端服务器上运行。
现在的问题是,我不能在客户端服务器上运行这些查询,因为我没有"sa“(管理员)登录。那么有没有其他方法来运行这个查询呢?
而且我也不能在对象资源管理器中从SQ L Server Agent创建作业,因为我没有权限这样做。
那么有没有办法在服务器上创建作业呢?