mysql 连表查询

现有tablea:                                                                              tableb:

                                                    

tableb存放了tablea中所有name(包含name1,name2)的一个属性值,

要查询出在tablea中同一行的name1和name2的prop值相等的所有数据

1、子查询

SELECT tc.name1,tc.name2,tc.prop
FROM (SELECT ta.name1 name1,ta.name2 name2, tb.prop prop FROM tableA ta,tableB tb WHERE ta.name1=tb.name) tc,
(SELECT ta.name1 name1,ta.name2 name2,tb.prop prop FROM tableA ta,tableB tb WHERE ta.name2=tb.name) td
WHERE tc.prop=td.prop AND tc.name1=td.name1;

2、

SELECT * FROM tablea a ,tableb AS b1,tableb AS b2 WHERE a.name1= b1.name AND a.name2= b2.name AND b1.prop=b2.prop

猜你喜欢

转载自www.cnblogs.com/zhanglw456/p/10268266.html