我需要帮助构建一个mysql查询。 我有这样一张桌子
----------|-------------
user_name | blood_group
----------|------------
Alex | O+
Jhon | A+
Rob | AB-
Jenny | O+
Suzanne | O+
-----------------------
我想选择所有血型,但仅针对O +血型,我想检查用户名是否为Alex。如果用户名是Alex for O +,我将选择其他方式。
所以查询会返回我:
----------|-------------
user_name | blood_group
----------|------------
Alex | O+
Jhon | A+
Rob | AB-
-----------------------
答案 0 :(得分:5)
这将选择所有具有user ='Alex'和blood_group ='O +'的行以及所有没有blood_group ='O +'的行:
SELECT user_name, blood_group
FROM myTable
WHERE (blood_group = 'O+' AND user_name = 'Alex')
OR blood_group != 'O+'
答案 1 :(得分:4)
这对你有用
select user_name,blood_group
from bloodtable
where blood_group <> 'O+'
or (blood_group = 'O+' and user_name = 'Alex' )
答案 2 :(得分:2)
试试这个:
select user_name , blood_group from table_name
where (blood_group='O+' and user_name='Alex')
or blood_group !='O+' ;
答案 3 :(得分:1)
简化其他答案。
SELECT user_name, blood_group
FROM myTable
WHERE user_name = 'Alex'
OR blood_group != 'O+';