元素之间的重组链接

时间:2016-09-13 06:54:49

标签: mysql

我有一个简单的事情要做,根据链接重新组合表中的两个元素及其名称。

CREATE TABLE element (
 id int(11) NOT NULL auto_increment,
 text varchar(100) NOT NULL
);
CREATE TABLE link (
 elem_1_id int(11) NOT NULL,
 elem_2_id int(11) NOT NULL
);

我想在链接中包含两个元素的文本:

之后:

INSERT INTO element (text) VALUES ('door');
INSERT INTO element (text) VALUES ('key');

door = id 1,key = id 2 和

INSERT INTO link (elem_1_id,elem_2_id) VALUES (1,2);

我如何使用select来:

|门|关键|

2 个答案:

答案 0 :(得分:0)

试试这个:

SELECT 
  (SELECT 
    e.text 
  FROM
    element e 
    INNER JOIN link l 
      ON l.`elem_1_id` = e.id) text1,
  (SELECT 
    e.text 
  FROM
    element e 
    INNER JOIN link l 
      ON l.elem_2_id = e.id) text2 
FROM
  element e 
  INNER JOIN link l 
    ON (l.`elem_1_id` = e.id) 
    OR (l.`elem_2_id` = e.id) 
GROUP BY l.`elem_1_id` 
  OR l.`elem_2_id` 

答案 1 :(得分:0)

能够做到:

SELECT e1.text, e2.text FROM link, element e1 INNER JOIN element e2 where link.elem_1_id=e1.id and link.elem_2_id=e2.id;