2015-05-21 55 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