Mysql加入同一个表的多个条目

时间:2015-12-02 18:26:10

标签: mysql

我的表'meta'包含以下字段和值:

 •col1  •col2 •col3   •REL •JOIN
   1     John  Smith       1    0   
   2     Peter Pan         2    0  
   3     Brat  Pitt        3    0  
   4     Sarah Palin       1    00 
   5     King  David       2    00
   6     Coco  Sha         3    00
   7     Santa Claus       3    00

我想循环并显示一个列表,组合来自同一个表的数据如下:

•col1  •col2 •col3 •REL •JOIN  •col1  •col2 •col3  •REL •JOIN

   1    John  Smith  1    0      1    John  Smith   1    0

   1    John  Smith  1    0      2    Peter Pan     2    0

   1    John  Smith  1    0      3    Brat  Pitt    3    0

   4    Sarah Palin  1    00     4    Sarah Palin   1    00

   4    Sarah Palin  1    00     5    King  David   2    00

   4    Sarah Palin  1    00     6    Coco  Sha     3    00

   4    Sarah Palin  1    00     7    Santa Claus   3    00

if * REL ='1'然后在下一次加入时使用col1,col2和col3与* REL ='1'    * JOIN是最终加入的关键

2 个答案:

答案 0 :(得分:0)

您可以按照以下方式实现上述连接逻辑。

    select a.col1, a.col2, a.col3, a.REL, a.joinKey,
           b.col1, b.col2, b.col3, b.REL, b.joinKey
      from meta a join meta b on a.joinKey = b.joinKey
      where a.REL = 1;

为此设置了一个sql小提琴。 SQL Fiddle

答案 1 :(得分:0)

看起来你正试图加入col1的第一个字符

select a.*, b.*
from meta a
join meta b on a.col1 = left(b.col1,1)