gpt4 book ai didi

c++ - 在 View 上使用 SELECT 时出现“没有这样的列”错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:13:03 24 4
gpt4 key购买 nike

CREATE VIEW [0_NumOfCode] AS
SELECT tbDeviceId.deviceId,
count(DISTINCT tbCodeList_AV.codeNum) AS NumCode
FROM tbDeviceId
INNER JOIN
tbCodeList_AV ON tbDeviceId.deviceId = tbCodeList_AV.deviceId
GROUP BY tbDeviceId.deviceID
UNION
SELECT tbDeviceId.deviceID,
count(DISTINCT tbCodelist_AC.codeNum)
FROM tbDeviceId
INNER JOIN
tbCodelist_AC ON tbDeviceId.deviceId = tbCodelist_AC.deviceId
GROUP BY tbDeviceId.DeviceID;

上下文:我实际上正在创建一个使用 SQLite 并接受 .db 文件输入的 C++ 程序,所以我在这里给出的这个 SQL 代码(来自 db 文件)不是我的,我不知道我不认为我应该(或应该)改变它,但我面临一个令人困惑的问题,这就是我问这个问题的原因。

基本上,现在我想选择这个 0_NumOfCode View 的 deviceId 列,但我该怎么做呢?都没有

SELECT tbDeviceId.deviceId FROM [0_NumOfCode]

也不

SELECT deviceId FROM [0_NumofCode]

也不是

SELECT [0_NumOfCode].deviceId FROM [0_NumOfCode]

完成了工作(“没有这样的列”错误)。但是,当我选择 * 时,列和数据会显示在 tbDeviceId.deviceID 下

现在,我认为该列的别名可能会解决问题,但正如我所说,我认为我不应该更改 SQL 代码。所以

1) 给定此 SQL 代码,我该怎么做?

2)(出于我自己的好奇心)别名也能解决它,对吗?

更新: 我最初的问题已经解决(在评论中),尽管我仍然有点迷失它是如何工作的(' vs ` vs 无引号)。

另外,我面临的一个新问题:

SELECT tbdeviceid.DeviceID,
numcode,
numbrand,
devicename15,
devicename30,
comment,
devicenameCN
FROM tbdeviceid
INNER JOIN
[0_NumofBrand] ON tbdeviceid.deviceId = [0_NumofBrand].deviceId
INNER JOIN
[0_numofcode] ON tbdeviceid.deviceId = [0_numofcode].deviceId

最后一行给出了没有这样的列错误。我如何表示该列?

最佳答案

我猜这行得通..
使用别名修改您的 View 。

SELECT tbDeviceId.deviceId as dId, ...

然后使用该别名的 select 语句

Select dId from [0_NumOfCode]

关于c++ - 在 View 上使用 SELECT 时出现“没有这样的列”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37827806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com