我有這個問題,如何使用簡寫調用領域在MySQL查詢
使用查詢,如下所示:
mysql_query("SELECT * FROM mytable WHERE samefield='2' AND (SELECT
COUNT(*) FROM mytableB as d WHERE d.samefield=samefield)");
返回我錯了結果,即工作是如下的理想:
mysql_query("SELECT * FROM mytable WHERE samefield='2' AND (SELECT
COUNT(*) FROM mytableB as d WHERE d.samefield=mytable.samefield)");
注意我是如何必須明確進入MYTABLE的名字爲它知道精確的外觀並從數據庫中獲取正確的結果,是有一個明確的外卡作爲最外層父●要使用uery確定d.samefield應該等於第一個父母而不知道它是別名,d.samefield = thewildcard.samefield是我要查找的內容,或者以某種方式指定它應該查找其父項。
因爲如果我使用d.samefield = samefield它只是不堅持父母的值,因爲它似乎問題是有一個字段具有相同的名稱,查詢表a和子表b查詢,最簡單如果它的工作是必須在子查詢上聲明一個別名,並讓第一個父查詢字段成爲mysql查找的字段,但它似乎不能以這種方式工作。
我知道整個問題聽起來有點愚蠢,但它對我來說很重要,因爲我已經圍繞這個3個小時了,並且嘗試了一些方法,例如php函數發送表名,以便爲其附加子查詢轉化爲主要查詢,甚至還嘗試了php的eval,但這一切都使得它在上下文中非常複雜的解決方案,我需要爲此進行回答。
你總是可以別名外表像'outer' –
爲什麼不能簡單地用'SELECT COUNT(*)FROM mytable的WHERE samefield ='2''? 和@Asad的評論+1。 順便問一下問題到底是什麼? – kmkaplan
我知道,我也想到了,事情是我花了一大套文件的全局替換,使得我重命名了所有的文件,因爲我這樣做是爲了應用子查詢來使用可以通過$ var和php調用它的上下文,$ var是子查詢,因此是的,我可能需要給外部查詢提供一個通用別名,它可能是解決方案,但只是想知道是否有類似家長。 (一個輔助別名,對於由mysql自動設置的父查詢是全局的) – lbennet