我有以下SQL代码
SELECT pd1.Meter,
pd1.BasicPool,
pd1.RateClass,
pd1.Flowdate,
(SELECT upOrDownContract
FROM PipelineData pd
WHERE pd.id = pd1.sibling) AS DnK,
match.Volume,
(SELECT Name
FROM Pipeline P
WHERE P.id = ISNULL(pd2.pipelineID, t.PipelineId)) AS Pipeline,
(SELECT Name
FROM Client C
WHERE C.id = t.ClientId) AS CounterParty
FROM MatchingHistoryBothSides match
LEFT JOIN PipelineData pd1
ON match.type1 = 'PipelineDataVO'
AND match.id1 = pd1.ID
LEFT JOIN PipelineData pd2
ON match.type2 = 'PipelineDataVO'
AND match.id2 = pd2.ID
LEFT JOIN TransactionDailyVolume dtv
ON match.type2 = 'TransactionDailyVolumeVO'
AND match.id2 = dtv.ID
LEFT JOIN [Transaction] t
ON dtv.TransactionID = t.ID
WHERE match.type1 = 'PipelineDataVO'
AND ( match.type2 = 'PipelineDataVO'
OR match.type2 = 'TransactionDailyVolumeVO' )
AND pd1.flowDate BETWEEN ? AND ?
AND pd1.LDCid = 75
AND pd1.direction = 'Receipt'
它在SQL Sever 2008中工作正常,但[Microsoft][ODBC SQL Server Driver][SQL Server]The multi-part identifier "pd1.flowDate" could not be bound
在Excel 2007中提供了MS
Query。有人可以解释该代码出了什么问题吗?
Select
MS Query中不允许子查询。因此,在删除子查询并使其成为联接后,即可在MS Query中使用。以下代码可在MS Query中使用
SELECT pd1.Meter,
pd1.BasicPool,
pd1.RateClass,
pd1.FlowDate,
pd.upOrDownContract AS dnk,
match.Volume,
p.Name AS pipeline,
c.Name AS counterparty
FROM Matchinghistorybothsides match
LEFT JOIN Pipelinedata pd1
ON match.type1 = 'PipelineDataVO'
AND match.id1 = pd1.ID
LEFT JOIN Pipelinedata pd2
ON match.type2 = 'PipelineDataVO'
AND match.id2 = pd2.ID
LEFT JOIN Transactiondailyvolume dtv
ON match.type2 = 'TransactionDailyVolumeVO'
AND match.id2 = dtv.ID
LEFT JOIN [Transaction] t
ON dtv.TransactionID = t.ID
LEFT JOIN Client c
ON c.id = t.ClientId
LEFT JOIN Pipelinedata pd
ON pd.id = pd1.sibling
LEFT JOIN Pipeline p
ON p.id = COALESCE(pd2.PipelineId, t.PipelineId)
WHERE match.type1 = 'PipelineDataVO'
AND ( match.type2 = 'PipelineDataVO'
OR match.type2 = 'TransactionDailyVolumeVO' )
AND pd1.FlowDate BETWEEN ? AND ?
AND pd1.LDCid = 75
AND pd1.direction = 'Receipt'
问题内容: 试试这个 给出错误 不能绑定多部分标识符“ tblJobBudget.lastmodifiedby”。 问题答案: 这是因为没有任何带有标识符的表或表别名。 您的表是: 但不是: 如果需要表中的列,则应在表中包含一个子句:
问题内容: 架构: 问题查询: 生成此架构并在SQL Server 2008下在SQLFiddle中运行查询将导致: 对子查询使用CROSS APPLY而不是INNER JOIN可以解决此问题 有什么问题? 编辑:我添加了“ TOP 1”,它是真正查询的一部分,并且是问题的相关部分。 Edit2:有关该问题的更多信息。 问题答案: 您不能将from子句引用到JOIN的另一部分。 改用它。 已编辑
问题内容: 我的错误讯息: 多部分标识符table2.ValidSince“无法绑定。 我需要如何更改更新才能使其正常工作? 问题答案: 您需要加入
我正在使用spring 4.0.5和hibernate 4.3.5;我在hibernate中遇到了一个错误,我不知道我错在哪里(因为我确信我错了)。我有一个与自己相关的表,它代表一个web树,其中每个根节点可以有几个子节点,所以我创建了这个类: 正如您所看到的...这是一个非常简单的POJO类;现在我创建了这个单元测试: 嗯,我检查了一下,在DB中我只有一个ID为4的记录;当我执行这个查询时,我得
我有一个 springboot 应用程序,我想将我的应用程序连接到 H2 数据库。下面是我的架构。 下面是我的应用程序属性。 但是,我面临以下问题: 由:org.h2.jdbc引起。JdbcSQLSyntaxErrorException:SQL语句“create table employee(id bigint not null auto_increment,email varchar(255),
我使用Angular/Universal-Starter作为起动器,它使用Typescript2和WebPack2。 我添加了包和。在添加这些包和相关类型之后: 它在终端中给出了以下错误: 我的tsconfig.json文件: 我如何解决这个错误?谢谢