【发布时间】:2014-02-25 10:10:37
【问题描述】:
我正在尝试显示拥有多个受抚养人的所有员工的 ssn、名字 (fname)、姓氏 (lname)、受抚养人姓名、受抚养人性别和受抚养人关系。 我能够获得所有家属的列表。显示具有多个家属的条目的查询是什么?
显示创建表员工
Employee | CREATE TABLE `employee` (
`fname` varchar(15) NOT NULL,
`minit` varchar(1) DEFAULT NULL,
`lname` varchar(15) NOT NULL,
`ssn` char(9) NOT NULL DEFAULT '',
`bdate` date DEFAULT NULL,
`address` varchar(50) DEFAULT NULL,
`sex` char(1) DEFAULT NULL,
`salary` decimal(10,2) DEFAULT NULL,
`superssn` char(9) DEFAULT NULL,
`dno` int(11) DEFAULT NULL,
PRIMARY KEY (`ssn`),
KEY `fk_employee_department` (`dno`),
KEY `fk_employee_employee` (`superssn`),
CONSTRAINT `fk_employee_department`
FOREIGN KEY (`dno`) REFERENCES `department` (`dnumber`),
CONSTRAINT `fk_employee_employee`
FOREIGN KEY (`superssn`) REFERENCES `employee` (`ssn`)
ENGINE=InnoDB DEFAULT CHARSET=latin1 |
显示创建表相关
DEPENDENT | CREATE TABLE `dependent` (
`essn` char(9) NOT NULL DEFAULT '',
`dependent_name` varchar(15) NOT NULL DEFAULT '',
`sex` char(1) DEFAULT NULL,
`bdate` date DEFAULT NULL,
`relationship` varchar(8) DEFAULT NULL,
PRIMARY KEY (`essn`,`dependent_name`),
CONSTRAINT `fk_dependent_employee`
FOREIGN KEY (`essn`) REFERENCES `employee` (`ssn`)
ENGINE=InnoDB DEFAULT CHARSET=latin1 |
当前使用查询:
select e. ssn,e.fname,e.lname,d.dependent_name,d.sex,d.relationship
from dependent AS d ,Employee as e
WHERE e.ssn=d.essn
【问题讨论】:
-
如果不了解您的表结构,我们将无法提供非常有效的帮助。我假设这里至少涉及两个表,或者一个表中的父子关系。请发布有关您的桌子的更多信息。
-
@MichaelBerkowski:我正在使用两个表(Employee 和 Dependent)。我正在尝试使用 ssn 让员工的受抚养人超过受抚养人......但是我让所有员工都有受抚养人。
-
您的标题是“删除...”似乎与您的问题内容不匹配..抱歉,如果我误解了..
-
还需要更多信息来了解 Employee 和 Dependent 表之间的关系。请张贴
SHOW CREATE TABLE Employee; SHOW CREATE TABLE Dependent;的结果 -
这是我正在使用的查询::: select e。 ssn,e.fname,e.lname,d.dependent_name,d.sex,d.relationship fromdependent AS d ,Employee as e WHERE e.ssn=d.essn;
标签: mysql