我想在表2中获取表1中“Keys”的值。为了不混淆具有相同名称的输出,我使用“AS”。接下来就是我正在做的事情,但它不起作用(当它发生时):
SELECT pg_show.php,pg_show.tab,pg_text.text as title,pg_text.text as description
FROM pg_show
INNER JOIN pg_text ON pg_show.tit=title
INNER JOIN pg_text ON pg_show.desc=description
WHERE pg_show.url='value'
LIMIT 0,1
我该如何解决?
修改
如上所述,我没有以正确的方式解释我的问题。应用给定的解决方案后,我收到一个错误:“#1054 - 'on clause'中的未知列'pt1.tit'”。也许我的表格结构会有所帮助。
pg_show
URL
PHP
山雀
递减
PG_文本
键
浪
文本
想法:
我想根据被调用的页面名称执行php文件。由于页面名称(url field)可能因用户语言而异(我不想使用httpdaccess url重写,因为整个Idea更复杂)我必须存储所有可能的值,这些值称为精确的php文件(所有可能的url值)。
另一方面,我需要显示页面标题和说明。为此,我创建了一个带有“CONSTANTS”的表*(pg_text)*,每个语言(lang字段)的值为(文本字段)。
关于查询:
我正在尝试构建的查询应该获取(知道URL值)的php文件名和tit和desc字段的值(表2中的tex字段) ,在第一个表上具有“CONSTANT”名称的值,以便在表2中获得它们各自的值。
答案 0 :(得分:2)
希望我能正确理解你的问题!基本上,您必须为连接表提供不同的别名。如:
SELECT pg_show.php, pg_show.tab, pt1.text as title, pt2.text as description
FROM pg_show
INNER JOIN pg_text pt1 ON pg1.key = pg_show.tit
INNER JOIN pg_text pt2 ON pg2.key = pg_show.desc
WHERE pg_show.url='value'
LIMIT 0,1
pg_text
之后的名称将消除您在select
子句中谈论的联接的歧义。