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'