2012-04-03 16 views
1

AS query not workingSELECT Wert AS (ab) funktioniert nicht in Unterabfrage

As (kein Wortspiel beabsichtigt), die Sie in diesem Screenshot sehen können die AS-Anweisung nicht, um den Titel der zurückgegebenen Abfrage zu ändern, wenn die AS in der Unterabfrage befindet .

Die rechte Seite des Bildes ist meine Tabelle exp_tables. Das Ziel hier ist herauszufinden, welches Level der Spieler in jeder bestimmten Fähigkeit hat (also kann ich es in meiner Java-Anwendung in eine nette Fortschrittsleiste setzen). Bitte lassen Sie mich wissen, wenn etwas mit meinem SQL für das AS nicht stimmt, oder wenn Sie wirklich hilfreich sein möchten, lassen Sie es mich wissen, wenn es einen besseren Weg gibt, den ich machen sollte. Vielen Dank für deine Hilfe. Liebe diese Seite; Ich hoffe, dass ich schlau genug bin, anderen bald zu helfen.

EDIT Ja leid vergessen, den Code laden>. <

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' 
+3

Können Sie bitte den SQL-Code posten. Es wird viel einfacher zu diagnostizieren sein, als von einem Bild zu gehen –

+0

im Code hinzugefügt, Entschuldigung dafür, bekam Auslöser glücklich :) – KisnardOnline

Antwort

1

Mit dem „AS“ Operator auf einer Säule in einer Unterabfrage nicht eine ganze Unter Abfrage einen Namen geben. Wenn Sie sich den linken Teil des Bildes ansehen, werden Sie feststellen, dass die Spaltennamen der Unterauswahl die Auswahl selbst sind, weil Sie diesen "Spalten" keinen Namen gegeben haben.

Es ist schwer, genau zu sagen, was es ist, dass Sie erreichen wollen, aber man kann ... so etwas tun, was sein könnte, was Sie wollen:

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

, dass Sie eine geben können Alias ​​für die Unterabfrage.

+0

PERFEKT, sollte daran gedacht haben ... Vielen Dank !!! Kannst du mir jetzt sagen, ob das ein verrückter Weg ist oder ob es ineffizient ist oder sowas? Ich bin kein DBA. – KisnardOnline

+0

Es ist eine Menge SQL - wenn Sie es besser machen würden, würde ich annehmen, dass Sie einige Ansichten und/oder einige benutzerdefinierte Funktionen definieren möchten, um sich um Ihre Mathematik zu kümmern (obwohl es nur ein -1 ist). Wenn Sie "kein DBA" sind, verlassen Sie, was Sie haben, wenn es funktioniert und wenn Sie mehr lernen, können Sie es später immer wieder besuchen. –

+0

Okay danke für den Rat und die Hilfe !! – KisnardOnline

Verwandte Themen