Mysql Select with select result in another table

标签 mysql sql database

我需要一些帮助,我不知道我想要做什么的正确术语,所以我无法找到我想要实现的目标的任何例子。

我希望有人能告诉我如何做这个简单的查询,并且我能够自己创建一个查询。

SELECT * FROM
 `product_views` pv,`product_sales` ps
WHERE
 pv.`SessionId` = ps.`SessionId` {result of} ps.`ProductId` = 1

我试图弄清楚的语法基本上是如何在 where 子句中获取查询结果。

谢谢!

编辑。 我意识到我不知道我试图实现的目标的正确术语这一事实令人困惑,所以我将展示在这个时间点我如何在两个查询中得到相同的结果

SELECT ps.`SessionId` FROM `product_sales` ps WHERE ps.`ProductId` = 1;

然后有了那个查询的结果,我会说 sessionId 20(为了简单起见) 然后我将不得不重新查询

SELECT * FROM `product_views` pv WHERE pv.SessionId = {ValueOfLastQuery};

最佳答案

加入将帮助您实现您的目标。 Here's很棒的介绍。

基本上,您需要执行以下操作:

SELECT * FROM
product_views
LEFT JOIN product_sales
ON product_views.SessionId = product_sales.SessionId
WHERE product_sales.ProductId = '1'

编辑:

我想你也可以使用子查询,它看起来像:

SELECT * FROM
product_views
WHERE SessionId = (SELECT SessionId from product_sales WHERE ProductId = '1')

关于Mysql Select with select result in another table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30515953/

相关文章:

MySQL - 尽管有索引,但具有多个条件的查询速度很慢

mysql - mySQL 查询函数将十进制等级转换为字母等级的语法错误

php - 在 View 中管理表中过多的列数据

mysql - SQL 查询破坏了我们的游戏! (后端服务器已满)

sql - Mysql中的异或约束

php - Mysql - 如何执行此 sql

sql - 大型查询中的别名表名是否对性能有显着影响?

php - 最佳做法是什么?为每个用户使用不同的数据库或使用具有用户标识列的相同数据库

phpmyadmin,mysql 数据库父?

MySQL 查询,尝试收集计数