MySQL内部查询

标签 mysql

我们的产品适合多个品牌的一种或多种型号。

我想生成适合单个产品的用户选择品牌的型号列表。

SELECT ml.laser, pm.pistol_model_brand, pm.pistol_model_name
FROM pistol_model as pm
INNER JOIN model_laser as ml
ON pm.pistol_model_id = ml.model_id
WHERE pm.pistol_brand_id = :pistol_brand_id AND ml.laser LIKE 'GTO%'
ORDER BY ml.laser

结果(3 列)显示我们的产品、品牌、型号。如果可能的话,我想从这里生成适合我们产品的这些模型的列表。

在挣扎了太多小时之后,我不确定这是否可能,或者我是否需要重建我的表。

感谢任何帮助。谢谢。

最佳答案

我建议仔细检查第一个连接条件的逻辑。手枪型号 ID 真的与激光型号 ID 相同吗?

SELECT 
    ml.laser
   ,pm.pistol_model_brand
   ,pm.pistol_model_name
FROM pistol_model as pm
INNER JOIN model_laser as ml
ON pm.pistol_model_id = ml.model_id
and pm.pistol_brand_id = ml.pistol_brand_id
WHERE 
    ml.laser LIKE 'GTO%'
ORDER BY 
    ml.laser

关于MySQL内部查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36658473/

相关文章:

python - 为什么不能迭代?

mysql函数,如何引用表字段数据类型

MySQL Error 1005 : can't create table. 关于使用外键作为多列主键

php - 如何检查是否在同一页面中使用php单击了提交按钮

javascript - 使用嵌入的表单集合保存相关 Doctrine 实体时出现 Symfony SQL 错误

mysql - 内连接 : add up amounts with same id

php - 省略非默认字段时,在 MariaDb 上插入失败

php - MySQL 获取考虑不同月份长度的月度发票记录

php - 如何在 LIMIT 子句中应用 bindValue 方法?

PHP:mysqli_query 不起作用