当前位置: 首页 > 面试题库 >

MYSQL查询使用变量作为LEFT JOIN中的表名

凤修为
2023-03-14
问题内容
SELECT var1,var2,var3,table_name 
FROM table1 LEFT JOIN table_name on var3=table_name.id

意思是我想根据table_namefrom的值动态离开联接表table1,因为var3从那里取了。

但是上面的查询结果

表table_name不存在

我的mysql限制错误?


问题答案:

表名和列名在SQL查询中不能是动态的。因此,您必须使用2个查询或存储过程以编程方式应用逻辑,请参见此处的示例:http
:
//forums.mysql.com/read.php?98,126506,126598#msg-126598



 类似资料:
  • 问题内容: 我正在尝试将表名传递到我的mysql存储过程中,以使用此sproc从其他表中进行选择,但是它不起作用… 这是我正在尝试的: 我也尝试过不带@符号,它只是告诉我TableName不存在…我知道:) 问题答案: 它取决于DBMS,但是这种表示法通常需要Dynamic SQL,并且会遇到一个问题,即函数执行时的返回值取决于输入。这给系统带来了麻烦。作为一般规则(因此可能会有例外),DBMS不

  • 问题内容: 我正在尝试编写一个函数,该函数采用下面编写的函数中编写的变量,然后在 MySQL 查询中使用该变量。我在下面写了一个例子: 当我尝试运行该程序时,出现以下错误: 这是用于大学作业,必须使用格式来接收变量。我花了数小时在互联网上搜索,试图找到解决方案,请帮助:/ 问题答案:

  • 我的代码在这里: 但它不起作用。我该怎么做?我在jcombobox get from database中有一个列表表名,当我选择其中一个时,这个框架将显示表的所有列和信息。

  • 我试图将变量插入数据库中的一个表中,由于某种原因,insert查询没有将我的值插入到所述数据库中。我已经测试了“test_input”函数,它工作得很好,我知道连接正在工作,因为我稍后在代码中使用的一个SELECT查询正在工作。我也知道输入是在$_PostSuperGlobal中,所以我认为这可能与insert查询有关,排除了其他可能性。这个查询有什么问题吗?以下是我的php代码: 这是我的HTM

  • 问题内容: 我有一个html表,可将mySQL数据库表中的所有内容加载。我有与该mySQL表的列相关的下拉菜单-当用户选择下拉菜单之一时,它将使用AJAX查询数据库。 我需要弄清楚如何动态构建查询,因为有时下拉列表将为空(即,它们不想按该列进行过滤)。 做这个的最好方式是什么? 目前我有这样的事情: 您可以想象这是行不通的,因为如果这些字段中的任何一个为空,查询都会失败(或者不返回任何内容)。 显

  • 问题内容: 我想使用表变量而不是临时表,但是我的主要查询构造是动态的。动态查询用单引号引起来,所以我该如何从@TableVariable中获取数据。我不想删除动态查询,因为稍后会添加一些参数。 例如,以下是错误代码,其中我已将表变量写入动态查询中..... 在这方面帮助我。 提前致谢。 问题答案: 试试这个 :