MySQL 用户将变量定义为派生表


mysql user defined variables as derived table

我有一个包含元素myArr[1,2,3,4]的数组。我想将其用作 select 语句中的派生表。可能吗

"SELECT * FROM myArr as table1"

你在寻找这样的东西吗?

SELECT *
  FROM
(
  SELECT 1 value UNION ALL
  SELECT 2 UNION ALL
  SELECT 3 UNION ALL
  SELECT 4 
) table1

这是 SQLFiddle 演示

您可以使用implode()轻松地在 php 中生成它

,例如
$myArr = array(1,2,3,4);
$sql  = 'SELECT * FROM (SELECT ';
$sql .= implode(' value UNION ALL SELECT ', $myArr);
$sql .= ') table1';

这是代码板演示

SELECT table1.* 
FROM (
   SELECT *
   FROM myArr
) AS table1