mysql中的连接查询
我有这样的桌子结构mysql中的连接查询,mysql,Mysql,我有这样的桌子结构 table1 table2 pid pname pid uid cat 1 a 1 1 1 2 b 1 2 1 3 c 1 3 1 select * from table1 as t1 LEFT JOIN table2 as t2 on t1.pid=t2.pid where t2.uid=1
table1 table2
pid pname pid uid cat
1 a 1 1 1
2 b 1 2 1
3 c 1 3 1
select * from table1 as t1 LEFT JOIN table2 as t2 on t1.pid=t2.pid where t2.uid=1 AND t2.cat=1
选择这两行很重要
我不想对pid进行分组,因为表1中可能有相同的pid,所以我只需要获得与pid匹配的行数
这可能是个愚蠢的问题,但我努力了,什么也没得到
我希望你们能帮助我
如果要获取匹配的行数,请提前感谢:
SELECT COUNT(*)
FROM table1 t1 INNER JOIN table2 t2 on t1.pid = t2.pid
WHERE t2.uid=1
您的左连接是不必要的,因为您正在按表2进行筛选
如果要获取匹配的行数:
SELECT COUNT(*)
FROM table1 t1 INNER JOIN table2 t2 on t1.pid = t2.pid
WHERE t2.uid=1
您的左连接是不必要的,因为您正在按表2进行筛选
您希望结果是什么样的?“选择两行”是一种选择,使用您发布的数据进行的查询将只返回一行。@Sugerman,“you people”=“Programmers”??X-)我将真实的查询和表格放在下面的url中,以供参考。您希望结果是什么样的?“选择两行”是非常重要的,您发布的数据查询只会返回一行。@Sugerman,“you people”=“Programmers”??X-)我将实际查询和表放在下面的url中ref@gowi只需在查询的末尾添加`AND t2.cat=1`。我将实际的查询和表放在下面的url中,用于ref@gowri,我发布的查询不起作用吗?你能在你的问题中解释一下你想要的结果是什么样的吗?我只想从表1中选择第四行。。请检查@gowri So add
和t2.product_id=19
哪个表是table1
,哪个表是table2
?@gowi只需在查询末尾添加`和t2.cat=1`。我将实际查询和表放在下面的url中,用于ref@gowri发布的查询是否无效?你能在你的问题中解释一下你想要的结果是什么样的吗?我只想从表1中选择第四行。。请检查@gowri So add和t2.product_id=19
哪个表是表1
,哪个表是表2
?