我正在使用Visual Studio2015,在我的SQL Server数据库项目中,在组内使用STRING_AGG时遇到了一个问题。
SELECT [Continent],
STRING_AGG([Country], ', ') WITHIN GROUP (ORDER BY [Country]) AS CountryList
FROM [Country]
GROUP BY [Continent]
这段代码给出了一个错误SQL46010:接近AS的语法不正确。如果没有
WITHIN GROUP (ORDER BY [Country])
没有问题。
目标平台设置为
Micros
我的代码如下所示:
select col1,count(col2) as col7
from --some join operation
group by col1
having col7 >= 3 -- replace col7 by count(col2) to make the code work
我的代码导致错误"Invalid column name 'col7‘“。为什么会发生这种情况?SQL不允许我在最后一行中使用col7,这似乎是不合逻辑的。
我正在使用SQL server express 2008。
此查询的目标是选择数据库中的每个工作订单模板,并对状态未关闭的每个现有工作订单进行计数。我正在利用一个左连接。左边的表格是工作订单模板表。右边的表是存放数据库中每个工作单的工作单表。 SELECT A.DESCRIPTION AS WO_TEMPLATE, COUNT(B.WORKORDERID) AS NUM_OF_WOS
FROM WOTEMPLATE AS A
LEFT JOIN WORKORDER AS B
ON A.WOTEMPLATEID = B.WOTEMPLATEID
WHERE B.STATUS != 'CL
使用: sql server
这就是我想要达到的目标。我有两个表,一个有70个公司(公司信息等)和一个表记录这些公司的事件编号。
我喜欢我的sql结果返回每个公司名称,无论是否找到匹配。我认为外部联接会有所帮助,但我的where子句似乎阻止了这种情况的发生:
我试过完全连接,外连接,左连接,同样的结果.
然而,如果删除where子句,则====>将得到所有公司的名称。
SELECT count(*) AS total_num, TS_NAME
FROM TTS_INCIDENTS RIGHT OUTER JOIN TS_COMPANIES
ON TS_COMPANIES.TS_ID=TT
我正在使用Server。我已经创建了超过20000行的SQL表。我使用以下查询筛选复制。
SELECT
Entity,ExpenseType,Amount,Description,APSupplierID,ExpenseReportID,Employee,ExpenseDate,COUNT(*)
FROM
TotalsByGLCenter
GROUP BY
Entity,ExpenseType,Amount,Description,APSupplierID,ExpenseReportID,Employee,ExpenseDate
HAVING
COUNT(*)
我在SQL服务器中运行查询时遇到了问题。在MYSQL中,它工作得很好,但必须切换到Server。
运行select查询时出现错误消息:
列dbo.regioomzet.regio在select列表中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中。
代码如下:
USE aenc;
GO
CREATE VIEW RegioOmzet (
regio
,omzet
)
AS
SELECT so.region
,Sum(p.unit_price * soi.quantity) AS omzet
FROM sales_order so
J
我有一个简单的Select语句: SELECT TOP (100) PERCENT
COUNT(*) AS AuthorCount, PMID, dbid
FROM
dbo.[Publication.PubMed.Author]
GROUP BY
PMID, dbid
HAVING
(dbid = 500) AND (COUNT(*) > 1)
ORDER BY
PMID 此语句返回具有AuthorCount的所有行。我想只过滤那些PMID号在逗号分隔字符串中的记录 例如,添加一个 WHERE CAST(PMID AS NVARCHA
我有一个复杂的查询,在添加一行之前,它工作得很好:工作查询:
$query = "SELECT SQL_CALC_FOUND_ROWS *
FROM realestate
INNER JOIN users ON id_user = users.id
LEFT JOIN pic ON id_realestate = realestate.id
group by realestate.id
我正在尝试发现表中所有行多次出现的外键,并通过子查询返回这些外键。
使用列上的GROUP BY,我能够可视化每个外键的COUNT:
SELECT orders_id, COUNT(*) as count
FROM order_history
GROUP BY orders_id
但是,当我用WHERE子句增加它时,尝试过滤,如下所示:
SELECT orders_id, COUNT(*) as count
FROM order_history
GROUP BY orders_id
WHERE count > 1
我犯了个错误
#1064 - You have an error in yo
我对ASP.NET和VB还有些陌生,我发现这与我在使用Recordset从数据库中提取数据时学到的ASP有很大的不同。有人能给我一些关于如何从数据库中提取数据的建议吗?下面是我以前至少会联系到的东西:
Dim conn As OdbcConnection
conn = New OdbcConnection("DSN=southwind")
Dim mystring as String = "SELECT GroupName FROM Group"
Dim cmd As OdbcCommand = New OdbcCommand(mystring, conn)
我尝试使用listagg函数,如下所示,但得到ORA-01489:字符串连接的结果太长。
SELECT LOCATIONID, LISTAGG(TO_CHAR(XPOSITION||','||YPOSITION), ',') WITHIN GROUP (ORDER BY SEQUENCENUMBER) ords
FROM POSITIONPOINTS
GROUP BY LOCATIONID
HAVING COUNT(SEQUENCENUMBER) = 20;
当我尝试在Oracle Sql Developer中运行此命令时,它显示前1550行,然后报告ORA-
我有以下两张表:
Subject
-----------------------------------------------
ID | SUBJECT_ID | FIRST_NAME | LAST_NAME
-----------------------------------------------
2456969 | 0002531 | Sam | White
1371093 | 0002301 | Tom | Andrew
2456840 | 0002529 | Chris | Williams
正在尝试从多个SQL表中提取数据。我有一个主表和几个子表。我希望在给定条件的情况下从主表中获取所有行,并从子表中添加一些字段。我认为OUTER JOIN应该可以工作,但我没有获得全部数据。 当我在主表上运行一个符合条件的COUNT时,我得到了大约10k行,这是我连接其他表后期望得到的结果。我知道我会在一些行条目上得到空值。 这是我想出来的查询,但我只能得到部分结果 SELECT main_table.group_id, main_table.floor, sub_table1.Name, sub_table2.base
FROM main_table
LEFT JOIN ON main_ta
我正在将Access DB迁移到SQL Server,一切都进展缓慢,但我不确定如何将Access表单连接到SQL Server视图。
到目前为止,我已经将所有的表链接到SQL Server,并且我正在将Access查询迁移到视图中,但是我收到了这个错误,A2SS0069: External variable cannot be converted
它引用Access文件中的表单:
SELECT TOP 9223372036854775807 WITH TIES
[AcuteHospitals].[NHSN_ID],
[AcuteHospitals].[Hosp
试图增加tSql,做一个简单的,或我认为是一个简单的声明。此示例来自Microsoft的类“查询Microsoft Sql Server 2012数据库”。
Use AdventureWorks
SELECT SalesOrderID, YEAR(OrderDate) AS OrderYear
FROM Sales.SalesOrderHeader
WHERE (CustomerID = 29974)
GROUP BY SalesPersonID, YEAR(OrderDate)
HAVING (COUNT(*) > 1)
ORDER BY
我已经看过几个关于使用这三个函数的线程,但是我无法根据我所读到的内容获得我想要的结果。
我正在使用SQL SERVER 2012。表是APXFirm.AdvApp.vPerformance这里是表模式
我尝试了以下查询:
USE APXFirm
SELECT PortfolioBaseCode
,COUNT( portfoliobasecode) AS Pcount
FROM APXFirm.AdvApp.vPerformance
WHERE rowtypecode = 'd'
and DetailKeyCode is NOT
我有以下问题,我试图通过sql server 2008中的链接服务器从BMC补救获得数据。
所有的连接都很好,但是当我添加像'*scri%'*,这样的“指定组”时,我在server中会出现错误,因为我必须使用撇号,因为BMC补救方法需要它。
您知道如何创建正确的语法或强制sql server使用引号而不是撇号,或者禁用拼写检查吗?
SELECT *
FROM OPENQUERY(Remedy,
**'**
SELECT
Incident_Number
FROM
HPD_Help_Desk
WHERE
"Assigned Group" L
我使用Microsoft SQL Server,但我想这个问题适用于所有SQL语言。如果我有:
SELECT OrderHeaderID
,isNull(Qty,0) AS Qty
FROM OrderHeader
LEFT JOIN (
SELECT OrderHeaderID
,Sum(Qty) AS Qty
FROM OrderDetail
GROUP BY OrderHeaderID
) OrderDetail
ON OrderDetail.OrderHeaderID = OrderHeader.OrderHeaderID
WHERE Crite
我现在正在对代码执行SQL to LINQ返工。
我必须将如下所示的查询翻译为LINQ:
SELECT COUNT(*) AS NUM, A.a1, GROUP_CONCAT(A.a2)... A.an, B.b1... B.bn... etc
FROM A LEFT JOIN B ON ...
LEFT JOIN C ON ...
GROUP BY A.a1, A.a3.....B.b1
HAVING NUM > 1
注意,我故意在A.a2子句中省略了GROUP BY。查询只发现一个字段不同的重复记录。因此,在MySQL中,我必须将实体投影(JOIN)到一个行中,从行中
当身份验证类型为:
Azure Active Directory -具有MFA支持的通用
我可以用Azure连接到这个数据库。下面的行显示了通过azure data连接时所需的凭据:
connection type : Microsoft SQL Server
server : ***.net
Authentication Type : Azure Active Directory - Universal with MFA support
account : ***.***@mycompany.com
database : target
Server group : default
我
当我使用表变量来存储查询结果时,如下所示: INSERT INTO @sortedArticleIds
SELECT article_id, NULL AS groupBy
FROM #articleIds a
GROUP BY article_id
ORDER BY MIN(sortBy) DESC; 插入到@sortedArticleIds中的行将随机更改。 但是如果我像这样使用#table: INSERT INTO #tmp_table
SELECT article_id, NULL AS groupBy
FROM #articleIds
我必须用3个表的连接返回的值来更新一个字段。
示例:
select
im.itemid
,im.sku as iSku
,gm.SKU as GSKU
,mm.ManufacturerId as ManuId
,mm.ManufacturerName
,im.mf_item_number
,mm.ManufacturerID
from
item_master im, group_master gm, Manufacturer_Master mm
where
im.mf_item_number like 'STA
我目前正在使用SQL Server附带的Northwind示例数据库。我正在尝试写一个查询来查找“在Northwind的订单上花费超过25,000美元的客户”。在相同的上下文中,我编写了以下查询:
select a.customerid, sum (b.unitprice*b.quantity) as Total_Amount
from orders a join [order details] b on a.orderid=b.orderid
--where Total_Amount > 25000 --ERROR: In this filter condition, SQL Ser
我试图连接两个表中的数据,如下所示:
Select portt.nameport, tool.weapen
From Portt
Where portt.toolsum - ( select count(*)
From tool
Group by nameport) >2
INNER JOIN tool on tool.nameport=portt.nameport;
但是有一个1064错误:
Error Code: 1064. You
这是问题所在。
select count(studentID) AS count from educators where count > 1 group by studentid
将不起作用,因为SQL Server尚不知道count列。
所以我必须这么做
select *
from (select count(StudentID) as count
from educators
group by studentid
) s
where s.count > 1
有没有更优雅的解决方案?似乎应该有一种更好的方法来做到这
我很难在H2中找到一个工作的SQL查询来实现我的目标。我想根据Day/s列和Join列的值来聚合和连接行。但是,如果列是空字符串,那么我希望它能够将值连接起来,而不是。
Course | Day/s | Join
---------------------
class1 | M W F | 111
class2 | M W F | 111
class3 | T R |
class4 | T R |
我希望结果是:
Course | Day/s | Join
-----------------------------
class1 class2 | M W F | 11
我对VB没有太多的经验。我已经构建了一个VB应用程序,它可以从表(FoxPro)中检索数据。守则如下:
Dim dBaseCommand As New System.Data.OleDb.OleDbCommand("SELECT * FROM inventory", con)
Dim dBaseDataReader As System.Data.OleDb.OleDbDataReader = dBaseCommand.ExecuteReader(CommandBehavior.SequentialAccess)
但是我需要运行下面的SQL,而不是SELECT * FROM
我有张桌子。表的名称是"group“。
我运行这样的查询:
SELECT * FROM GROUP
存在这样的错误:
Error Code: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group
LIMIT 0, 1000' at line 1
有办法解决我的问题吗?
谢谢
当我需要知道某些列c包含超过n重复的行数时,我可以这样做:
WITH duplicateRows AS (
SELECT COUNT(1)
FROM [table]
GROUP BY c
HAVING COUNT(1) > n
) SELECT COUNT(1) FROM duplicateRows
这导致了一种不想要的行为: SQL Server计算按i分组的所有行,这(当此表上没有索引时)会导致糟糕的性能。
但是,当更改脚本以使SQL Server不必计算所有行时,并不能解决问题:
WITH duplicateRows AS (
SELECT
我有以下JPQL:
SELECT a.b.id, a.b.name, a.c.id,a.c.name
left join a.b left join a.c
group by a.b.id,a.b.name,a.c.id,a.c.name
现在b和c都引用了同一个表。
出现的一个解决方案是不选择名称并通过不同的查询逐个检索它们。但我想这不是最优雅的方式..
(顺便说一句,我尝试选择a.b,a.c和group by a.b,a.c,但它抛出ORA而不是group by表达式,因为生成的sql检索所有行,而group by仅按ID),并且左连接是必需的,因为我希望允许空值。
非常感谢。