如果条件在mysql
如果我正确理解你的问题(这是很难与缺乏信息的您提供。采样的数据集和预期结果通常是有益的),那么我不认为你需要的IF在所有的你想。以下将返回未删除且具有(visibility =“private”和userId = 1)或(visibility =“group”和group = 3)的联系人
SELECT *
FROM contact_details
WHERE contactDeleted = 0
AND (
(contactVisibility = "public")
OR
(contactVisibility = "private" AND contactUserId = 1)
OR
(contactVisibility = "group" AND contactGroup = 3)
)
他们是一种表格中的3种联系方式。公共,私人和团体,如果联系是公开的,他们不需要任何条件。如果联系人是私人联系人,我们应该挖掘(这应该有我的id在contactUserId)。如果将他们的组合分组放在其他表中,那么groupId值将保存在contactGroup中,并且它应该检查与我的组匹配的天气。 – 2012-02-16 06:23:45
@ShankarSwamy这些笔记应该在你的问题。如果你的contactUserID = 1,那么你的contactGroup = 3,或者是否需要根据其他一些内容搜索这些内容?我已更新为accountVisibility =“public” – nybbler 2012-02-16 06:27:42
这是您的确切SQL吗? “contactDeleted”后面有一个没有配对的反勾号字符 – nybbler 2012-02-16 06:00:51
你最好用单词描述你想要的东西,因为错误的sql查询字面上没有解释任何东西 – zerkms 2012-02-16 06:00:59
@nybbler:是否反向是唯一让你困惑的东西? ;-) – zerkms 2012-02-16 06:01:28