2013-12-11 5 views
-1
select `Nom`,`Prenom` from 
`pi_photographes` 
where 
`IdPhotographe`=(select 
`IdPhotographe` 
from`pi_photos` 
where`Description`="Site de Palmyre"); 

базу Фотографии [IdPhoto, FichPhoto, измерение, описание, IdPhotographe #, RefBien #]1242 - подзапрос возвращает более чем на 1 строку

фотографирует [IdPhotographe, Nom, Prénom]

+1

Это не ясный вопрос, и не показывают каких-либо исследовательских усилий. – depquid

+2

Ошибка означает, что если вы выполните оператор 'select IdPhotographe из pi_photos, где Description =" Site de Palmyre "', он возвращает более одной строки. Либо ваши данные ошибочны, и вы должны исправить это и добавить правильные проверки, или ваше утверждение неверно, и вы должны добавить 'distinct' в mix. –

+0

Это означает, что в вашем pi_photos есть более одной записи, где описание «Site de Palmyre». –

ответ

0

Вам нужно для использования IdPhotographe IN(subquery ...) для краткости и для одного вам нужно ограничить ваш дополнительный запрос, чтобы дать одну запись, поставив лимит в подзапрос, при использовании оператора = вы должны ограничить свой подзапрос, чтобы дать один результат

Для одной записи

select `Nom`,`Prenom` from 
`pi_photographes` 
where 
`IdPhotographe`=(select 
`IdPhotographe` 
from`pi_photos` 
where`Description`="Site de Palmyre" LIMIT 1); 

Для нескольких записей используйте IN()

select `Nom`,`Prenom` from 
`pi_photographes` 
where 
`IdPhotographe` IN (select 
`IdPhotographe` 
from`pi_photos` 
where`Description`="Site de Palmyre"); 
Смежные вопросы