나는 자동차 소유자가 검색하는 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의 경우에만이 소유자의 데이터를 하나의 '사본'을 가져옵니다.
나는 임의로 생성 된 자동차 목록을 가지고 있기 때문에 소유자가 동일한 경우에도 모든 자동차의 소유자 행을 가져야합니다.
아이디어가 있으십니까?
그것은 보이지 않는다. 귀하의 질의가 귀하의 목록에있는 소유자와 함께 모든 카네이션을 반환 할 것 같습니다. 따라서 한 명의 소유자가 10 대의 자동차를 소유 한 경우 모두 10 대가 결과 세트에 포함됩니다. –
귀하의 진술은 "무작위로 생성 된 자동차 목록이 있습니다"라고 말합니다. 그러나 코드에 "ownerid in ($ owners)"이 있습니다. 무엇 이니? 무작위로 선택된 자동차 또는 소유자 목록? –
자동차 목록이 데이터베이스에서 이미 가져 왔습니다. 모든 자동차에는 $ owner 변수에 수집 된 ownerID가 있으며 그 다음에 목록에 어떤 자동차가 있는지에 따라 소유자를 검색하는 선택 쿼리가 있습니다. 문제는 mysql이 IN() 문 내에서 같은 수의 쿼리를 중복하지 않는다는 것입니다. 하지만 나는 그 목록에 어떤 차가 있는지 알지 못하고 하나의 소유자가 하나 이상의 차를 소유 할 수 있기 때문에 그걸 필요로합니다. –