这样的sql怎么写?

xyz
07-08-20 3 146

如:
有主表mtable和从表ctable
主表结构
m_id
--
m1
m2

从表结构
c_id m_id key value
c1 m1 k1 v1
c2 m1 k2 v2
c3 m2 k1 v1
c4 m2 k1 v2
要查找同时包含 (key=k1 and value=v1)和(key=k2 and value=v2)两个条件数据的主表记录。
如查出m1这条记录,因为同时拥有(key=k1 and value=v1)和(key=k2 and value=v2)而缺少(key=k2 and value=v2)的记录。

banq
2007-08-20 18:25

现在只会对象关系思考,表的东西快忘记了,不能帮你忙了。

cnng007
2007-08-21 09:57

SELECT a.*,b.*,c.key as key1 ,c.value as value1
FROM mtable a,ctable b,ctable c where a.mid=b.mid and a.mid=c.mid and(b.key = 'k1' AND b.value = 'v1' and c.key = 'k2' AND c.value = 'v2')

xyz
2007-08-21 10:51

明白了,谢谢!