是否可以在SQLite中的一个查询中运行多个select语句?
如:
SELECT (
SELECT ChestGemEffects.Value,
Effect.Name
FROM ChestGemEffects
INNER JOIN Effect
ON ChestGemEffects.EffectId = Effect.Id
INNER JOIN Gems
ON ChestGemEffects.GemId = Gems.Id
WHERE ( Gems.[Key] = 'SG1' )
)
AS ChestEffects,
(
SELECT WeaponGemEffects.Value,
Effect.Name
FROM WeaponGemEffects
INNER JOIN Effect
ON WeaponGemEffects.EffectId = Effect.Id
INNER JOIN Gems
ON WeaponGemEffects.GemId = Gems.Id
WHERE ( Gems.[Key] = 'SG1' )
)
AS WeaponEffects,
(
SELECT OthersGemEffects.Value,
Effect.Name
FROM OthersGemEffects
INNER JOIN Effect
ON OthersGemEffects.EffectId = Effect.Id
INNER JOIN Gems
ON OthersGemEffects.GemId = Gems.Id
WHERE ( Gems.[Key] = 'SG1' )
)
AS OthersEffects;
Run Code Online (Sandbox Code Playgroud)
它给了我错误:
'执行查询时出错:只有一个结果允许作为表达式一部分的SELECT'
我的表达式有问题还是SQLite不支持?
谢谢
CL.*_*CL. 13
必须在FROM子句中使用子查询的结果作为源表进行进一步查询:
SELECT * FROM (SELECT ...), (SELECT ...)
Run Code Online (Sandbox Code Playgroud)
但是,这将是一个交叉连接,这不是你想要的.
要只附加多个表(具有相同的列数),请使用UNION ALL:
SELECT ChestGemEffects.Value,
Effect.Name
FROM ...
...
UNION ALL
SELECT WeaponGemEffects.Value,
Effect.Name
FROM ...
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17608 次 |
| 最近记录: |