2015-09-02 34 views
0

首先,讓我先說感謝。我是全新的MySQL,似乎無法找到這個問題的答案。不要從select中返回列?

我有一個小的查詢,其中我發出一個選擇與各種列。其中兩列是不同的表格並表示一個部門編號。當查詢運行時,它將返回部門編號的兩個實例,但我只需要一個實例。我一直在尋找如何控制這個信息,或者如果我可以控制它。

這裏是我的查詢:

SELECT d.dept_no, e.emp_no, e.first_name, e.last_name, f.dept_no 
FROM departments d, employees e, dept_emp f 
WHERE d.dept_no = f.dept_no AND e.emp_no = f.emp_no AND d.dept_no = 'd009' AND e.gender = 'F'; 

下面是一些結果:

dept_no emp_no first_name last_name dept_no 
d009 10011 Mary Sluis d009 
d009 10049 Basil Tramer d009 
d009 10088 Jungsoon Syrzycki d009 
d009 10098 Sreekrishna Servieres d009 
d009 10112 Yuichiro Swick d009 
d009 10128 Babette Lamba d009 
d009 10154 Abdulah Thibadeau d009 
+0

@Rahul - 謝謝:) – paulsm4

+0

@ paulsm4,沒問題;歡迎兄弟。 – Rahul

回答

0

從您的select子句(OR)中刪除特定列使用列別名以獲得更好的可重用性,如下所示。另請注意,我已修改查詢以使用明確連接語法,而不是舊式隱式連接語法。

SELECT d.dept_no as Department_dept_no, 
e.emp_no, 
e.first_name, 
e.last_name, 
f.dept_no as dept_emp_deptno 
FROM departments d 
JOIN dept_emp f ON d.dept_no = f.dept_no 
JOIN employees e ON e.emp_no = f.emp_no 
WHERE d.dept_no = 'd009' 
AND e.gender = 'F'; 
+0

非常感謝您的幫助。現在它對我有意義...... –

+0

@KeithHedger,歡迎,考慮接受答案,如果它通過點擊投票按鈕下的檢查按鈕幫助。 – Rahul

+0

rahul - 我想我只是做了它...讓我知道如果我誤解了如何做到這一點.... –

0

只是刪除你不想要的。

例如

SELECT d.dept_no, e.emp_no, e.first_name, e.last_name 
    FROM departments d, employees e, dept_emp f 
    WHERE d.dept_no = f.dept_no AND e.emp_no = f.emp_no AND d.dept_no = 'd009' AND e.gender = 'F'; 

你不需要選擇列用它來比較。