我有一个SELECT查询,你可以在那里搜索车主。 每个车主都可以有多辆车。 有随机产生的汽车列表,我们必须找到所有者。当一个所有者使用一次以上,例如Mysql完全相同的查询
...
$owners[] = $dbaseowners["ownerid"] // owner ID's fetched from database
$owners = implode (',',$owners);
SELECT carname FROM cars WHERE ownerid IN ($owners);
我的问题是:IN(1,1,4,1) - MySQL只取一个本用户数据的“复制”。
由于我有一个随机生成的汽车列表,我必须拥有每一辆车的车主行,不管车主是否相同。
任何想法?
它似乎并不像你取你所查询的任何所有者信息。在我看来,你的查询将返回列表中所有者的所有carname。所以如果一个车主拥有10辆车,那么所有10辆车都会在你的结果集中。 –
您的陈述中说“有一个随机生成的汽车列表”。但是,你的代码有“ownerid in($ owners)”。这是什么?随机选择的汽车或车主列表? –
汽车列表已从数据库中提取。每辆车都有ownerID,这些都是在$ owners变量中收集的,之后会有选择查询,我会根据哪些车辆在列表中搜索车主。问题是MySQL不重复在IN()语句中使用相同数字的查询。但是我需要这个,因为我不知道列表中有哪些车,并且因为一个车主可以拥有多辆车 –