Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何执行mysql查询,当在中找到一条记录时返回2行_Php_Mysql_Sql - Fatal编程技术网

Php 如何执行mysql查询,当在中找到一条记录时返回2行

Php 如何执行mysql查询,当在中找到一条记录时返回2行,php,mysql,sql,Php,Mysql,Sql,这将返回一行,结果为: SELECT DISTINCT '12345' AS AlphabetID, CASE WHEN letter='a' THEN 'a' END AS letter 如何在保留其他列字段值的同时,为给定列返回多行 基本上,在满足条件时动态添加行 我的思考过程尝试: AlphabetID | letter | 12345 | a 预期结果: SE

这将返回一行,结果为:

SELECT DISTINCT '12345'  AS AlphabetID,
                 CASE
                    WHEN letter='a' THEN 'a'
                    END AS letter
如何在保留其他列字段值的同时,为给定列返回多行

基本上,在满足条件时动态添加行

我的思考过程尝试:

 AlphabetID | letter
 | 12345    | a
预期结果:

SELECT DISTINCT '12345'  AS AlphabetID,
                 CASE
                    WHEN letter='a' THEN 'a'
                    WHEN letter='a' THEN 'ax'
                    END AS letter

您正在寻找联合所有人吗

 AlphabetID | letter
 | 12345    | a
 | 12345    | ax
或交叉连接:

SELECT DISTINCT '12345'  AS AlphabetID, 'a' as letter
FROM e
WHERE E.Chem_ID_Login = 'a'
UNION ALL
SELECT DISTINCT '12345'  AS AlphabetID, 'ax' as letter
FROM e
WHERE E.Chem_ID_Login = 'a';

啊,我明白了,这是一个在查询中创建查询副本并合并结果的问题。在我的特定场景中,“联合”是必要的,因为我不希望由于所有表连接而复制其他行/比问题中描述的更复杂。谢谢
SELECT DISTINCT '12345'  AS AlphabetID, l.letter
FROM e CROSS JOIN
     (SELECT 'a' as letter UNION ALL SELECT 'ae') l
WHERE E.Chem_ID_Login = 'a'