我知道我不能使用 Case 语句返回多个值,但这是我可以解释我想要完成的最佳方式。我正在尝试编写一个语句,我将根据在另一个字段中输入的内容返回不同的值。我目前有这样的事情:
SELECT animal WHERE
CASE
WHEN :textbox is not null
THEN (SELECT animal from animalsTable where animalType = :textbox
ELSE (SELECT plant from plantsTable where plantType = 'edible')
所以基本上,我希望能够列出与用户在文本框中输入的内容相对应的所有动物,但如果他们没有在文本框中输入任何内容,那么我想向他们展示所有可食用的植物。我几乎总是会为他们输入的每个值返回多个值。
例如,如果用户键入“dog”,那么我将返回“dog”和“wolf”。所以这会导致一个问题,因为 case 语句是布尔值。我怎样才能解决这个问题?
谢谢。