2015-05-21 34 views
1

我正在使用MySql,请参阅http://postimg.org/image/waso0lsnf/以查看我的表结构。 我想获取department_id其中enduser_to_department = Y以及department_to_enduser = Y。 价值可能在同一行不同的行department_id.在mysql中获取不同行的值

我试过以下的方式,但它的工作单行。

SELECT `departments`.`department_id`, `departments`.`department` 
FROM `custom_forms_departments` , `departments` 
WHERE departments.department_id = custom_forms_departments.department_id 
AND (`custom_forms_departments`.`enduser_to_department` = 'Y' 
OR `custom_forms_departments`.`department_to_enduser` = 'Y') 
GROUP BY `departments`.`department_id` 
ORDER BY departments.department_id DESC 

http://postimg.org/image/waso0lsnf/

编辑:从URL添加的图像。 enter image description here

+2

世界上没有附模式/结构...我们需要更多信息继续。 – Fazer87

+0

请按照编辑的问题检查http://postimg.org/image/waso0lsnf/。 – pratik

+0

那么您尝试过哪些SQL? –

回答

0
在where子句可以指定条件

enduser_to_departmen = 'Y' 和department_to_enduser = 'Y'

代替组由u可以使用不同的

+1

我试过这个,但是需要为具有值“Y”的相同department_id获取不同行的记录 – pratik

0

试试这个:

SELECT `department_id` 
    FROM `custom_forms_departments` 
    WHERE `enduser_to_department` = 'Y' 
    AND `department_to_enduser` = 'Y' 
    GROUP BY `departments`.`department_id` 
    ORDER BY departments.department_id DESC 

编辑:现在不参与。

我刚刚更改了OR对于AND,因为您希望它们都是'Y',并更改了连接。

+0

当Y包含在同一个department_id的enduser_to_department和department_to_enduser的不同行中时,它不工作。 – pratik

+0

@pratik好的,你为什么需要连接?另一张表包含什么内容以及为什么您需要从那里获得department_id,而不是从custom_form_departments获取?尝试我的新尝试。 – Nighthunter22

+0

@ Nighunter22 它将返回true只有当表的同一行包含Y代表一个部门标识两个值'enduser_to_department' =“Y”和'department_to_enduser' =“Y”。 但我要显示的记录,即使部门ID 1包含Y值在不同的列两列。 – pratik

0

希望这将解决问题乌尔

选择departmentsdepartment_iddepartmentsdepartment FROM custom_forms_departments 左加入departments WHERE departments.department_id = custom_forms_departments.department_id AND(custom_forms_departmentsenduser_to_department = 'Y' OR custom_forms_departmentsdepartment_to_enduser = 'Y') ORDER BY departments.department_id DESC