1

外部キー値を持つ MySQL テーブルを作成しました。MySQL join を使用して外部キーの値を取得したいと考えています。私はと呼ばれるテーブルを持っており、employee外部キー値sex、性別テーブルには男性と女性が含まれています。これは機能している私の単純な結合クエリです:

SELECT * FROM sex JOIN employee ON employee.sex_id=sex.id

ここで結合クエリを使用したいのですが、何か不足しているようです。これを完了してください:

SELECT employee_id, first_name, last_name, sex_id FROM employee

そしてinsert to、このテーブルの単一のクエリでキーをフォリゲンする方法を教えてください:

CREATE TABLE IF NOT EXISTS `employee` (
  `employee_id` int(11) NOT NULL AUTO_INCREMENT,
  `first_name` varchar(20) NOT NULL,
  `middle_name` varchar(20) DEFAULT NULL,
  `last_name` varchar(20) NOT NULL,
  `employee_employee_id` int(11) DEFAULT NULL,
  `address_id` int(11) DEFAULT NULL,
  `phone_id` int(11) DEFAULT NULL,
  `dob` date DEFAULT NULL,
  `maritial_id` int(11) NOT NULL,
  `sex_id` int(11) NOT NULL,
  PRIMARY KEY (`employee_id`),
  KEY `fk_employee_employee` (`employee_employee_id`),
  KEY `fk_employee_address1` (`address_id`),
  KEY `fk_employee_phone1` (`phone_id`),
  KEY `fk_employee_maritial1` (`maritial_id`),
  KEY `fk_employee_sex1` (`sex_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

私はMySQLで良い考えがありません

4

2 に答える 2

0
SELECT emp.employee_id, emp.first_name, emp.last_name, emp.sex_id, sx.sex_label 
FROM employee AS emp
JOIN sex AS sx
ON emp.sex_id = sx.id

ここで、sex_label は、sex男性または女性のいずれかを含むテーブル内のフィールド名です。

于 2012-07-25T05:29:14.747 に答える
0

次のようなものを試してください:

SELECT e.employee_id, e.first_name, e.last_name, s.id
FROM employee AS e
JOIN sex AS s
ON e.sex_id = s.id
于 2012-07-25T04:56:06.000 に答える