【问题标题】:SELECT value AS (desc) not working in subquerySELECT 值 AS (desc) 在子查询中不起作用
【发布时间】:2012-04-03 04:01:03
【问题描述】:

正如(没有双关语),您可以在此屏幕截图中看到,当 AS 位于子查询中时,AS 语句不会更改返回查询的标题。

图片右侧是我的exp_tables表。这里的目标是弄清楚玩家在每个特定技能中的级别(所以在我的 Java 应用程序中,我可以将它放在一个漂亮的进度条中)。请让我知道我的 AS 的 SQL 是否有问题,或者如果您想真正提供帮助,请告诉我是否有更好的方法我应该这样做。非常感谢你的帮助。喜欢这个网站;希望我能足够聪明,尽快帮助别人。

编辑 是的,抱歉忘记上传代码>.

SELECT 
skill_alchemy_exp, ((SELECT exp_tables.id AS alchemy_lvl FROM exp_tables WHERE skill_alchemy_exp < tradeskills LIMIT 1)-1), 
skill_axes_exp, ((SELECT exp_tables.id AS axes_lvl FROM exp_tables WHERE skill_axes_exp < weapons LIMIT 1)-1), 
skill_baking_exp,((SELECT exp_tables.id AS baking_lvl FROM exp_tables WHERE skill_baking_exp < tradeskills LIMIT 1)-1),
skill_blacksmithing_exp,((SELECT exp_tables.id AS blacksmithing_lvl FROM exp_tables WHERE skill_blacksmithing_exp < tradeskills LIMIT 1)-1),
                                        skill_blocking_exp, skill_blunts_exp, skill_bows_exp, skill_carpentry_exp, skill_cooking_exp, 
                                        skill_crossbows_exp, skill_daggers_exp, skill_dark_exp, skill_earth_exp, skill_fire_exp, 
                                        skill_foraging_exp, skill_harvesting_exp, skill_healing_exp, skill_hiding_exp, skill_holy_exp, 
                                        skill_looting_exp, skill_luck_exp, skill_lumberjacking_exp, skill_milling_exp, skill_mining_exp, 
                                        skill_planting_exp, skill_polearms_exp, skill_smelting_exp, skill_swords_exp, skill_wands_exp, 
                                        skill_wind_exp
                                         FROM kisnard.characters
                                         WHERE name='Proskier'

【问题讨论】:

  • 能否请您发布SQL代码。诊断会容易得多,而不必离开图片
  • 添加到代码中,抱歉,让触发器高兴:)

标签: mysql select subquery


【解决方案1】:

在子查询内的列上使用“AS”运算符不会为整个子查询命名。如果您查看图片的左侧部分,您会注意到子选择的列名称是选择本身,因为您没有为这些“列”命名。

很难准确地说出你想要达到的目标是什么,但你可以做这样的事情......这可能是你想要的:

SELECT a, b, (SELECT xyz FROM ...) AS c, d, e, ...

这使您可以为子查询指定别名。

【讨论】:

  • 完美,应该想到这一点...非常感谢!!!现在你能告诉我这是否是一种疯狂的方式,还是效率低下之类的?我不是 DBA。
  • 这是很多 SQL - 如果你想让它变得更好,我会假设你想要定义一些视图和/或一些用户定义的函数来处理你的数学 (虽然,它只是一个-1)。如果您“不是 DBA”,请留下您所拥有的,如果它有效,并且随着您了解更多,您可以随时重新访问它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-14
  • 2018-06-17
  • 1970-01-01
相关资源
最近更新 更多