由于缺乏MYSQL语言的知识,我无法创建查询来获取所需内容。
我尝试了stackoverflow和其他地方的几个选项,但都没有。
阐述......我需要在列中选择一个特定值但是如果没有给出该值,我想选择全部。
示例(伪代码)
SELECT *
FROM table
WHERE id = 'specificvalue'
IF 'specificvalue' IS NULL, THEN SELECT * FROM table
编辑:不要违反任何规则。我在下面添加了一张桌子的图片。
我想在FName中搜索' jack'具体但如果我没有名字我想搜索所有。
我试图用IS NULL制作一个条件,但我失败了......
我希望有人可以再帮助我!!
答案 0 :(得分:0)
使用NOT EXISTS
条件。
SELECT *
FROM table
WHERE id = 'specificvalue'
OR NOT EXISTS (
SELECT *
FROM table
WHERE id = 'specificvalue'
)
答案 1 :(得分:0)
假设ID是唯一的,请使用IFNULL:
SELECT *
FROM table
WHERE id = IFNULL('specificvalue',id)
如果你的值为null,它会查找id = id的所有行,它始终为true,id将始终匹配。
IS NULL也应该有效:
SELECT *
FROM table
WHERE id = 'specificvalue'
OR 'specificvalue' IS NULL