2013-10-22 79 views
-2

我有一个名为Employee的Mysql Db中的4个表。该表的结构如下:Python MySQL DB

Edetails(ID,姓名,年龄
Edepartment(ID,姓名,部门
Edesignation(ID,姓名,DESIG
Esalary(ID,名称,基本,PF

id是所有表中的主键。我的问题是,当用户提供一个员工的身份证我如何取身份证,姓名,年龄,基本,pf所有在一次? 我已经创建了所有表格并使用python添加了条目。提取我使用下面的代码。

import MySQLdb as mdb 
con = mdb.connect('localhost', 'root', 'root', 'Employee') 
cur=con.cursor() 
x=raw_input("Enter Employee id:") 
cur.execute("Select * from Edepartment,Edesignation,Esalary,Edetails where dept.id=%s",(id))  
res=cur.fetchall() 
print res 

在此先感谢..

+1

您是否尝试过任何查询? – 0605002

+1

除了没有努力解决这个问题之外,这显然也是一个SQL问题,而不是Python问题。 –

+0

我是新来这个网站..我确定我会纠正提问的方式..或者指导我纠正它..我编辑了这个问题..我希望现在我的问题清楚了。 – Swetha

回答

0

fetchall()方法,让你在一组的所有行。即使结果集包含一条记录,您仍然需要执行以下操作:

import MySQLdb as mdb 
con = mdb.connect('localhost', 'root', 'root', 'Employee') 
cur=con.cursor() 
x=raw_input("Enter Employee id:") 
cur.execute("Select table1.id, table2.name from table1,table2 where dept.id=%s",(id))  

results=cur.fetchall() 
for result in results: 
    print 'id = %s' % result[0] 
    print 'name = %s' % result[1] 
+0

我dint得到输出..输出如下:输入员工id:1 () – Swetha

+0

看看这里:http://mysql-python.sourceforge.net/MySQLdb.html – Nick