SQL SELECT 连接?

标签 sql mysql select

我有一个 MySql 数据库。 <罢工>

<罢工>

有一个包含产品和订单的表 结构:

  • 产品:product_id、名称、makers_id
  • 订单:orders_id、product_id、数量

现在我想获取所有订单(仅显示产品Manufacturer_id=1的产品)。 我尝试过:

SELECT
orders.orders_id,
orders.product_id
FROM products, orders
WHERE products.manufacturers_id = 1
GROUP BY orders_id
ORDER BY orders_id

但这行不通。怎么了?

抱歉编辑:其他人编辑了我的帖子,最后删除了问题的重要部分

编辑

为了澄清我的问题,我添加了一些新信息:

我有一个带有 MyISAM 表的 MySQL 数据库。两个相关表是:

  • 订单产品:订单产品 ID、订单 ID、产品 ID、产品名称、产品价格、产品名称、产品型号、最终价格,...
  • 产品:products_id、manufacturer_id、...

(有关表格的完整信息,请参阅产品屏幕截图 ( Screenshot ) 和订单产品屏幕截图 ( Screenshot ))

现在我想要的是这样的: - 获取所有订购Manufacturer_id = 1产品的订单。以及该订单产品的产品名称(Manufacturers_id = 1)。按订单分组。

到目前为止我所做的是:

SELECT
op.orders_id,
p.products_id,
op.products_name,
op.products_price,
op.products_quantity
FROM orders_products op , products p 
INNER JOIN products
ON op.products_id = p.products_id
WHERE p.manufacturers_id = 1 AND
p.orders_id > 10000

p.orders_id > 10000 用于测试仅获取几个 order_id。 但是,即使该查询有效,也需要很长时间才能执行。 两次sql server卡住了。 错误在哪里?

由于我的编辑令人困惑,我打开了一个新的更容易理解的帖子: SQL Inner Join : DB stuck

最佳答案

应该可以了!

SELECT
*.orders
FROM orders INNER JOIN products
ON orders.product_id = products.product_id
WHERE products.manufacturers_id =1
ORDER BY orders_id

关于SQL SELECT 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2447031/

相关文章:

sql - 如何在 SQL 查询的 FROM 区域中使用动态表名?

php - SQL:获取具有相同值的连续行的最高计数的方法?

php - 如何创建包含sql的新php文件

c++ - 如何修复 "'::iswblank' has not been declared"after Linker Settings and Search Directories have changed

php - 在 PHP 中返回最后一个 MySQL 插入的 id

mysql - Wordpress 高级 SQL - 连接和计数

php - 动态数据透视表 MySql

MySQL:范围基于外部表中的行

javascript - 如何在动态生成的select标签中实现onchange函数

mysql - 在文件名sql表达式上将字符与日期分开