重复动态下拉列表中的项目

时间:2015-05-07 20:14:45

标签: mysql distinct

我有一个网站(使用php)动态填充下拉列表,其中包含'材料' (列名)我从我的数据库中的VIEW获取,用于根据先前的参数查询选定数量的条目。通过这种方式搜索的两个字段是'公司'和'材料'。每个条目都可能包含相同的材料'对于不同的公司......但公司会有所不同 - 相反,公司可以使用相似的材料,因此下拉列表中会有多个项目。问题是,当从该视图中填充下拉列表时......它会重复该列表中的项目,看到它们与其他公司一起使用。可以防止这种情况,因为我只需要为每种材料显示一次。也许函数检查我的查询中是否有任何重复或子句?我一直在研究使用DISTINCT,但不确定如何应用它。

这是我的查询btw:

    select `bp`.`id` AS `id`,
`bp`.`brand_id` AS `brand_id`,
`bp`.`width` AS `width`,
`bp`.`height` AS `height`,
`bp`.`material` AS `material`,
`bp`.`type` AS `type`,
`bp`.`cost` AS `cost`,
`bp`.`last_updated` AS `last_updated`,
`bp`.`created` AS `created`,
`b`.`company` AS `company` 
FROM (((`caseys_wrdp4`.`windows_brands_products` `bp` 
left join `caseys_wrdp4`.`windows_brands` `b` 
on((`bp`.`brand_id` = `b`.`id`))) 
join `caseys_wrdp4`.`Windows_last_submissions` `ls`) 
join `caseys_wrdp4`.`windows_materials` `wm`) 
where ((`bp`.`width` = round(`ls`.`width`,0)) 
and (`bp`.`height` = round(`ls`.`height`,0)) 
and (`bp`.`material` = `wm`.`name`) 
and (`bp`.`type` = `ls`.`type`) 
and if((`ls`.`minimumbid` <> '0.00'),(`bp`.`cost` between `ls`.`minimumbid` and `ls`.`maximumbid`),(`bp`.`cost` <= `ls`.`maximumbid`))) 
order by `b`.`company` desc

0 个答案:

没有答案