x
SELECT DISTINCT '12345' AS AlphabetID,
CASE
WHEN letter='a' THEN 'a'
END AS letter
This will return one row with a result of:
AlphabetID | letter
| 12345 | a
How would it be possible to return multiple rows for a given column while retaining the other column field values.
Essentially, adding rows on the fly when the conditions are met.
My thought process attempted:
SELECT DISTINCT '12345' AS AlphabetID,
CASE
WHEN letter='a' THEN 'a'
WHEN letter='a' THEN 'ax'
END AS letter
Desired Result:
AlphabetID | letter
| 12345 | a
| 12345 | ax
Advertisement
Answer
Are you looking for union all
?
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';
Or a CROSS JOIN
:
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'