sqlite查询返回可执行文件中的不完整数据
我正在尝试在数据库上运行以下查询:
select t.*, c.category from (select t.*, l.CategoryID from (select t.*,
ht.TotalAttachments from (select t.*, s.TaskID as Parent from Tasks45 t
left join Subtasks45 s on t.TaskID = s.SubtaskID WHERE DueDate BETWEEN
'1900-01-01' AND '2099-12-31') t left join (select TaskID,
count(THyperlinkID) as TotalAttachments from HyperlinksTasks group by
TaskID) ht on t.TaskID = ht.TaskID) t left join LinksTasksCategories l
on t.TaskID = l.TaskID) t left join categoriesA c on t.CategoryID =
c.CategoryID order by [Parent] asc, [DueDate] asc, [Priority] desc,
[PecentageComplete] asc
当我在终端运行程序时,这起作用,但是一旦将其编译成可执行文件,它就无法正常工作。可执行文件为64位。
我的意思是说,返回的行不包含我在“类别”表中的“类别”密钥。
我怀疑加入操作是原因,但是我在哪里开始研究?
编辑:表定义是
CREATE TABLE LinksTasksCategories (
TaskID INTEGER (10),
CategoryID GUID (36),
FOREIGN KEY (
CategoryID
)
REFERENCES categoriesA (CategoryID),
FOREIGN KEY (
TaskID
)
REFERENCES Tasks45 (TaskID)
);
CREATE TABLE categoriesA (
CategoryID GUID (36),
category VARCHAR (50)
);
CREATE TABLE Tasks45 (
TaskID INTEGER PRIMARY KEY AUTOINCREMENT,
Subject VARCHAR (255),
Description LONGCHAR (1073741823),
StartDate TIMESTAMP (19),
DueDate TIMESTAMP (19),
PecentageComplete BYTE (3),
Priority INTEGER (10),
ReplicaID GUID (36),
Cancelled BIT (1)
);
CREATE TABLE HyperlinksTasks (
THyperlinkID GUID (36),
TaskID INTEGER (10),
THyperlink VARCHAR (255),
TPath VARCHAR (255),
FOREIGN KEY (
TaskID
)
REFERENCES Tasks45 (TaskID)
);
错误:
if row['category'] is not None:
KeyError: 'category'
I'm trying to run the following query on my database:
select t.*, c.category from (select t.*, l.CategoryID from (select t.*,
ht.TotalAttachments from (select t.*, s.TaskID as Parent from Tasks45 t
left join Subtasks45 s on t.TaskID = s.SubtaskID WHERE DueDate BETWEEN
'1900-01-01' AND '2099-12-31') t left join (select TaskID,
count(THyperlinkID) as TotalAttachments from HyperlinksTasks group by
TaskID) ht on t.TaskID = ht.TaskID) t left join LinksTasksCategories l
on t.TaskID = l.TaskID) t left join categoriesA c on t.CategoryID =
c.CategoryID order by [Parent] asc, [DueDate] asc, [Priority] desc,
[PecentageComplete] asc
This works, when I run my program in the terminal, but once it is compiled into an executable it doesn't work. The executable is 64-bit.
By doesn't work I mean, the rows returned do not contain a 'category' key, which I have in the 'categoriesA' table.
I suspect the join operation to be the cause, but where would I begin looking into this?
Edit: Table definitions are
CREATE TABLE LinksTasksCategories (
TaskID INTEGER (10),
CategoryID GUID (36),
FOREIGN KEY (
CategoryID
)
REFERENCES categoriesA (CategoryID),
FOREIGN KEY (
TaskID
)
REFERENCES Tasks45 (TaskID)
);
CREATE TABLE categoriesA (
CategoryID GUID (36),
category VARCHAR (50)
);
CREATE TABLE Tasks45 (
TaskID INTEGER PRIMARY KEY AUTOINCREMENT,
Subject VARCHAR (255),
Description LONGCHAR (1073741823),
StartDate TIMESTAMP (19),
DueDate TIMESTAMP (19),
PecentageComplete BYTE (3),
Priority INTEGER (10),
ReplicaID GUID (36),
Cancelled BIT (1)
);
CREATE TABLE HyperlinksTasks (
THyperlinkID GUID (36),
TaskID INTEGER (10),
THyperlink VARCHAR (255),
TPath VARCHAR (255),
FOREIGN KEY (
TaskID
)
REFERENCES Tasks45 (TaskID)
);
Error:
if row['category'] is not None:
KeyError: 'category'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论