我正在努力将mysql查询转换为sql server,但是当我运行该查询时,它给了我错误The multi-part identifier "e.EpVisitCount" could not be bound.,这里我已经发布了我的两个查询--请您查看一下,为什么它在sql server中给了我错误?
Mysql查询(工作良好):
UPDATE
tb_EpVisitRange as v left JOIN tb_Episode as e ON (v.company_id = e.CustID) AND (v.CMW = e.CMW)
我正在将mysql转换为sql查询,为了在sql server中运行查询,我做了许多更改,但我还是得到了错误Incorrect syntax near the keyword 'as'.,有人能帮我解释一下为什么会出现这个错误吗?这是我对此的疑问
UPDATE tb_EpVisitRange as v
left JOIN tb_Episode as e
ON v.BranchID = e.BranchID
AND v.company_id = e.CustID
AND v.CMW = e.CMW
SET
e.EpVisitCount = IIF
我发现了许多如何向列添加条件或如何与'max‘合并的示例,但我不清楚如何在此特定情况下执行此操作: SQL查询: SELECT IDLOCK, DT, LOCKTYPE, PRODUCTATTRIBUTE, VALUE
FROM LOCKREGISTER LR
LEFT JOIN LOCKTYPES T
ON LR.IDLOCKTYPE = T.IDLOCKTYPE
LEFT JOIN PRODUCTATTRIBUTES PA
ON LR.IDPRODUCT = PA.IDPRODUCT AND (PRODUCTATTRIBU
假设我有两个sql查询
query1:
select bF.MetricSubGroup_Level1, bF.MetricDisplayName, SUM(fDT.Weight) 'BASE'
from #factDataTemp fDT
left join #brandFOM bF on fDT.BrandID = bF.OptionId
where fDT.BrandID != 0
and bF.StudyName is not NULL
Group by bF.MetricSubGroup_Level1, bF.MetricDisplayName
查询2:
我有一个SQL查询,其中包含几个表之间的连接。
当我运行这个查询时,它需要1分钟12分钟,但是,如果我在accountID周围添加一个聚合,我将获得巨大的性能优势,并且它在12分钟内运行。请参阅下面未编辑的完整查询。
SELECT dbo.CaptionMapItem.CaptionMapItemID,
dbo.CaptionMapItem.NodeText,
CaptionMapItem_1.NodeText AS 'Level1_Caption',
CaptionMapItem_2.NodeText AS 'L
我有下面的SQL查询,我需要它只运行一次SELECT语句。
我能知道我应该做些什么改变吗?
编辑:需要更改为只使用一条SELECT语句。
DECLARE
@lang varchar(2) ='en',
@hideInactiveCompany integer = 0
IF @hideInactiveCompany = 1
SELECT <all columns>
FROM Config.BusinessUnit BU
LEFT JOIN Config.Organization CO on BU.OrganizationId = CO.Organizatio
这是我现有SQL查询的结构:
SELECT * FROM (
SELECT *, 'A' AS Status FROM Table1
WHERE Field1 NOT IN
(
SELECT Field1 FROM Table2 WHERE Field 1 = 'val' AND ...
)
UNION
SELECT *, 'B' AS Status FROM Table1
WHERE Field1 IN
(
SELECT Field1 FROM Table
我使用UNION创建了下面的SQL查询。
正如您所看到的,我对相同的表进行了2次查询,标准略有不同。如果TYP是A,那就是出价。如果TYP为N,AB为真,则为序。
整件事起作用了。但我猜还有更优雅的方法吗?我希望你能告诉我那是怎么回事!
谢谢。(顺便说一句,使用advantage sql,如果有区别的话)
SELECT
DATUM as report_month,
REGION as region,
count(DISTINCT NUMMER) as order_number,
'Offer' as Type
from xxxxxxxxxxxx
left join xxxxxx
我正在寻找一个连接SQL查询和在同一行上显示结果的简单示例。
请接受下面的查询。这将返回所有“活动”的程序:
select u.first_name, u.last_name, p.programme_title
from applications a
left join users u on u.id = a.user_id
left join programmes p on p.id = a.programme_id
where a.active = 1;
first_name last_name programme_title
---------------------------
我使用的是Server,我希望能够使用公共表表达式将多行表转换为每行操作数(OPE_NUM)一行的表和多个新列
下面是我的SQL查询,以获得一组操作(带有重复的OPE_NUM):
SELECT * from OPERATION OPE
LEFT OUTER JOIN CAPITALISATION CAP ON
OPE.num_op = CAP.num_op
OPE.date = CAP.date
LEFT OUTER JOIN SECURITIES ON
我想在SQL server中计算运行余额,但它在'=‘和':=’运算符附近显示语法错误。不知道如何增值。我正在共享我正在使用的SQL查询。 SQL查询: declare @tempbal decimal(18,0)
set @tempbal = (select top 1 (balance)
from t1
left outer join t2 on t2.accountno = t1.accountno
left outer join t3 on t1.cc = t2.dc
where accountNo = '1234')
select
'
我有两个MySQL表:
CREATE TABLE things (
id INT
);
CREATE TABLE properties (
thing_id INT,
name VARCHAR(100),
value VARCHAR(100)
);
INSERT INTO things (id) VALUES (1);
INSERT INTO properties (thing_id, name, value) VALUES
(1, 'name', 'John'),
(1, 'age', '123')
如何在一个查询中简化下面的T-SQL语句?
IF @OrderByDescription = 1
BEGIN
SELECT d.DeptId, Description
FROM Dept d
LEFT JOIN DeptOrder o ON p.DeptId = o.DeptId
WHERE d.DeptId IN (3, 7, 9, 10, 17, 20)
ORDER BY Description
END
ELSE
BEGIN
SELECT d.DeptId, Description
FROM Dept d
LEFT JOI
我使用count语句进行SQL查询,并包含两个表之间的左联接。
但是,查询运行得非常慢,每次查询的结果出现在5-10分钟内。
希望任何人都能帮助我提高我正在做的以下查询的性能。
select origin,count(*) as shipmentcount,
(select count(*) as unprocessed from tblshipmentdetail sd
left join tblshipmentprocess sp on
sd.airbillno=sp.airbillno
where sp.airbillno is null a
我目前正在获取基于时间戳的用户访问计数,但我也想包括总访问次数。用一条MySQL语句就可以做到这一点吗?下面是我当前的查询,它只根据时间戳返回一个计数:
$sql = "SELECT count(*) as visitors_count FROM profile_visits
LEFT JOIN users on users.user_id=profile_visits.user_id
LEFT JOIN profile_info ON profile_info.user_id = users.user_id
WHERE profile_
不用插值重写这个查询的最好方法是什么?
def case_joins(type)
subquery = <<-SQL.squish
SELECT id FROM cases c2
WHERE c2.title_id = titles.id AND c2.value = 0 AND c2.type = '#{type}'
ORDER BY c2.created_at DESC LIMIT 1
SQL
"LEFT OUTER JOIN cases ON cases.title_id = titles.id AND
希望这是一个快速的
SELECT *
FROM T
left JOIN J ON
CASE
WHEN condition1 THEN 1 --prefer this option even if CASE2 has a value
WHEN condition2 THEN 2
ELSE 0
END = 1 (edit: but if 1 does not satisfy, then join on 2)
这两种情况都会返回结果,但我希望1取代2,成为查找优先级。
我可以让SQL执行类似于max(CASE)上的联接之类的操作吗?
基本上,我试图从Excel复制嵌
这是我今天的第二个SQL问题-我是DBA方面的新手.
我试图将一个复杂的sql查询连接在一起,将大约12个表中的数据合并到一个表中。虽然数据库中有一个到多个关系,但我知道每个关系的最大数量。
所以,我有(堆栈溢出的帮助!)将数据库的第一层夷为平地,并有一对查询,现在必须将这些查询连接在一起:
(节录)
SELECT
A.StudentId, C1.Topic AS SIoC1, C1.Level AS SIoCScore1
FROM Assessment A
LEFT JOIN Concern C1 ON A.Id = Assessment_Id and C1.TopicNumber
我有两个表(fruits和fruitSales),其中我的查询要求是:
if fruit = 'Apple' OR 'Banana' then fire (query1) else fire(query2)
// i.i.,当我输入的是苹果或香蕉时,query1必须启动,否则query2就会启动。
以下是我的两个问题:
查询1:
select a.*, b.quantity
from fruits a
left join fruitSales b on a.fruitPrice = '%'+b.fruitPrice+'%'
有人能帮我调整我的SQL以获得想要的结果吗?我有一个用户表,一个案例表,以及一个附加在案例中的用户关系表。
用户表-用户
+----+-------+--------+
| id | first | last |
+----+-------+--------+
| 1 | Joe | Bloggs |
| 2 | John | Doe |
| 3 | Jane | Doe |
| 4 | Dave | Smith |
+----+-------+--------+
案例表-案例
+----+--------+------+
| id | Case | C
我对SQL很陌生,如果条件为真,我希望执行一条语句,如果条件为false,则执行另一条语句。
Server 2012查询
select
if s.SpecialInsttPlan = 'No'
BEGIN
(s.TotalBill - s.Advance) / s.Installments as Installment
else
'Special' as Installment
END
from
SalesInvoice s
left join
Installment
正在尝试执行此查询。
$sql ="SELECT '*' FROM
'osp_job_details'
LEFT JOIN
'osp_job_status_track' ON 'osp_job_status_track'.'JobID' = 'osp_job_details'.'JobID'
LEFT JOIN
'osp_job_st
因此,我是SQL的新手,在单表中连接多个查询时遇到了问题。
在我的公司里,我没有人可以谈论这件事,我需要一些关于如何创建表格的基本建议。
我的基本脚本如下所示,我不确定如何连接2,以便我可以显示两年的收入并排。
SELECT a.date_key, b.account_name,a.client_id,SUM(a.revenue) as "Revenue 2019" FROM spreadsheet as a
LEFT JOIN account_file as b on a.client_id = b.client_id
WHERE date_key >= 2019 an
我试图在Python Dataframe上执行SQL语言函数,就像它们是Microsoft SQL Server中的表一样。到处搜索,似乎R有sqldf模块,Python有一些与pandasql兼容的记录-然而,如果需要的话,我无法让Rodeo工作。
有上述记录。我无法通过运行任何组合来导入sqldf或pandasql。
import pandasql as pdsql
from pandasql import sqldf
pysql = lambda q: pdsql.sqldf(q, globals())
which I scavenged from here and there.
在SA
是否可以编写基于条件返回一组列的sql查询?下面是一个示例查询:
Select
id
,name
,col3
From
Table A
,left outer join (If (select col6 from table D =='A')
{
Select col3,col4,col5 as id
From Table A
,left join table C
,left join
}
Else If (select col6 from table D =='D')
{
我有一个MySQL查询,需要两次left join。有四个表A、B、C、D和两种可能性,如果A.label为null,
select ... from A
left join B on B.name=A.name
left join D on B.bid=D.id;
否则,如果A.label不为null,则
select ... from A
left join C on C.name=A.name
left join D on C.cid=D.id;
如果我想通过CASE条件将这两个查询合并为一个查询,我应该怎么做?
寻找在替代条件下进行表连接的方法(这里是最初在特定列中找到的数据的替换子字符串)。因此,我基本上希望加入到一个特定列中的两个字符串类型中的任何一个上。我的第一个查询工作得很好。下面的第二个查询运行,但只是运行、运行和永远运行。
第一个查询:
select *
from (select count(hls_case.case_id), count(build_opinion.source_id) as build_case_id
from hls_case left join
build_opinion
on replace(substri
因此,对于上下文,这是我试图安排信息的方式:如果事件是一部电影,则列出类型。如果事件是播放列表,则显示作者的姓名。第四列将被称为“风格/作者”。
电影是一张桌子,播放是一张桌子。
我现在不知道如何在不分离查询结果或不返回任何内容的情况下列出各自的信息。
这是我尝试过的:
SELECT E.EventName,
V.VenueID,
E.Description,
(M.Genre AND P.Author) as 'Genre/Author'
FROM ( Event as E LEFT OUTER JOIN Venue as V
这是我的sql查询:
Select 'P'+(cast(p.Id as varchar)) as SolrId,
(Select lp.LocaleValue where LanguageId=3 and lp.EntityId=p.Id) as fr_Name ,
(Select lp.LocaleValue where LanguageId=2) as hi_Name,
(Select lp.LocaleValue where LanguageId=4) as nl_Name,* from Product p
LEft Join LocalizedProperty
我不确定是否可以这样做,我有一个用户表和一个相关的用户活动表连接在一个外键上。活动有不同的类型,例如注释,等等。我需要让用户根据每种不同类型的活动的数量进行过滤。
到目前为止,我得到的是:
SELECT
users.*,
COUNT(t1.id) AS comments,
COUNT(t2.id) AS likes
FROM users
LEFT JOIN activity AS t1 ON users.id = t1.user_id
LEFT JOIN activity AS t2 ON users.id = t2.user_id
我有两张桌子table1和table2。table1有id和table2_id列,table2有id和category。我需要根据包含值table1或Special的table2.category中的两个单独值来计算来自Regular的行数。
我已经在两个查询中完成了这一点,但是我想知道在单个sql中是否有可能。我的问题是:
"SELECT COUNT(t1.id) AS regular FROM table1 t1 LEFT OUTER JOIN table2 t2 ON t1.t2_id = t2.id WHERE t2.category = 'Regular'
我研究了其他类似性质的问题,但没有找到解决办法。
我有一个查询,获取男性和女性在注册过程中的总和数据。它的目标是两个表中的相同数据,只是条件不同。如何将这两者结合在一起呢?
以下是对男性的查询:
SELECT
SUM(signup_data.submited) AS SubmitedMales,
SUM(signup_data.approved) AS ApprovedMales,
FROM `signup_data`
LEFT JOIN users ON signup_data.user_id = users.user_id
WHERE users.sex
我正在尝试构建一个查询,该查询将从一个表中提取所有列,并从另一个相关表中添加一些计数,使用左联接从这个表中查找与初始表中的每个列相关的项。
到目前为止我有这样的想法:
SELECT table1.*,
count(table2_c1.ID) as column1_count,
count(table2_c2.ID) as column2_count
from table1
left join (select * from table2
where table2.COLUMN_1 = 1) as table2_c1
on table1.I