Mysql 从与另一个表相同的值所在的表中选择
我有两张桌子(Mysql 从与另一个表相同的值所在的表中选择,mysql,Mysql,我有两张桌子(参观了和购买了) 最终在user\u ip列中具有相同的值。例如: visited -> 1,product1,192.168.1.1 2,product2,192.168.1.1 3,product3,192.168.12.12 4,product4,192.168.12.12 purchased -> 1,product3,192.168.12.12 可以从访问的中选择与购买的相同的用户ip的所有产品?在上面的示例中,我需要选择id3和id4尝试以下操作: SE
参观了
和购买了
)
最终在user\u ip
列中具有相同的值。例如:
visited ->
1,product1,192.168.1.1
2,product2,192.168.1.1
3,product3,192.168.12.12
4,product4,192.168.12.12
purchased ->
1,product3,192.168.12.12
可以从访问的中选择与购买的相同的用户ip
的所有产品
?在上面的示例中,我需要选择id3
和id4
尝试以下操作:
SELECT *
FROM visited
WHERE user_ip IN (SELECT user_ip FROM purchased)
如果您没有在用户ip
列上设置正确的索引,这可能会很慢…试试这个,如果需要我编辑,请发表评论
SELECT *
FROM visited
INNER JOIN purchased
ON visited.user_ip=purchased.user_ip
ORDER BY visited.id
顺便说一句,您可以将“选择”更改为“仅需要您需要的”(如果您只需要id)。“是的,它是”将是您问题的正式正确答案。。。(直到你回答纳维德的问题。)对不起,我试过瓦迪克和卢卡斯·埃德尔,他们都提供相同的OK结果,但还是更喜欢瓦迪克选项。非常感谢。
SELECT *
FROM visited
INNER JOIN purchased
ON visited.user_ip=purchased.user_ip
ORDER BY visited.id