2013-09-29 2 views
0

У меня есть 3 таблицы: Session, кино и VendorJOIN 3 таблицы для поиска

Session.FilmID 
Film.VendorID 
Vendor.VendorName 

Я хочу, чтобы включить VendarName в поиске.

Вот что у меня есть:

sql ="SELECT SessionID, Identifier, SessionType.SessionTypeName, Film.*, Vendor.*, 
CameraID, Date FROM Session " 
sql = sql + "JOIN SessionType USING (SessionTypeID) " 
sql = sql + "JOIN Film USING(FilmID) " 
sql = sql + "JOIN Vendor ON Film.VendorID = Vendor.VendorID " 
sql = sql + "WHERE Session.Identifier LIKE ('%" + search + "%') OR " 
sql = sql + "Session.Notes LIKE('%" + search + "%') OR " 
sql = sql + "SessionType.SessionTypeName LIKE ('%" + search + "%') " 
sql = sql + "Film.Vendor.VendorName LIKE ('%" + search + "%') " 
sql = sql + "ORDER BY Identifier,SessionType.SessionTypeName" 

Что я делаю неправильно?

+2

чек из последних трех строк вы забыли добавить условный оператор. –

+0

«Что я делаю неправильно?», Не включая сообщение об ошибке в вопросе? вообще не показывать код? отсутствует соответствующая информация, например: какие языки? – AD7six

+0

'Film.Vendor.VendorName' - это трехзначное имя. (это 'film' название схемы? – wildplasser

ответ

1

Вам не хватает «OR» в вашем SQL-заявлении. Измените эту строку:

sql = sql + "SessionType.SessionTypeName LIKE ('%" + search + "%') " 

To:

sql = sql + "SessionType.SessionTypeName LIKE ('%" + search + "%') OR " 
+0

Я должен был быть более конкретным. Я получаю следующую ошибку: – rkamarowski

+0

Я должен был быть более конкретным. Я получаю следующую ошибку: near 'Film': ошибка синтаксиса – rkamarowski

+0

Brian , ты был прав! Мне пришлось внести еще одно изменение. Спасибо! – rkamarowski

Смежные вопросы