使用单独表中的JOIN过滤选项并显示结果

时间:2015-05-01 16:33:20

标签: mysql join

在这里遇到问题我几乎已经失败了,但我认为错过了一小块。我正在获取用户信息,例如宽度,高度,材料,类型和分钟。出价/最高。 bid ..我想对我构建的大型数据库使用这些参数,以仅显示用户参数之间的结果。截至目前,我有一个查询,如:

"SELECT 
bp.*, b.company 
FROM `DBPREFIXwindows_brands_products` bp 
LEFT JOIN `DBPREFIXwindows_brands` b ON bp.brand_id = b.id 
WHERE 
bp.width = '24'
AND bp.height = '30'
AND bp.material = 'Vinyl' # This is if you use 1 for vinyl
AND bp.type = 'Casement' OR 'Vinyl'
AND (bp.cost >= '500' AND bp.cost <= '1000' )"

如果我只想查询静态结果,这很好;但是,我有一个名为Windows_last_submission的表,其中包含宽度/高度/材料等信息,以便再次使用数据库DBPREFIXwindows_brands / DBPREFIXwindows_brands_products

基本上我将如何替代,例如,&#39; 24&#39;在&#39;宽度&#39;使用Windows_last_submissions.width中的信息。

谢谢!希望我很清楚。

1 个答案:

答案 0 :(得分:1)

怎么样:

SELECT bp.*, b.company 
FROM `DBPREFIXwindows_brands_products` bp 
LEFT JOIN `DBPREFIXwindows_brands` b ON bp.brand_id = b.id 
JOIN Windows_last_submissions ls
WHERE bp.width = ls.width
AND bp.height = ls.height 
AND bp.material = ls.material
AND bp.type = ls.type
AND (bp.cost BETWEEN ls.minbid AND ls.maxbid )