我有一个网站(使用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