двухтабличный запрс в базе

val06

Гуру форума
Регистрация
11 Авг 2006
Сообщения
272
Реакции
92
добрый день.
есть 2 таблицы
tovar opcion
нужно одним запросом выбрать данные при условиях
у tovar id=$id and product > 0
у opcion id=$id and opcions > 0

подскажите плиз
 
SELECT tovar.*, opcion.* FROM tovar, opcion WHERE tovar.id=$id AND opcion.id=$id AND tovar.product > 0 AND opcion.opcion > 0
 
добрый день.
есть 2 таблицы
tovar opcion
нужно одним запросом выбрать данные при условиях
у tovar id=$id and product > 0
у opcion id=$id and opcions > 0

подскажите плиз
А как соединены таблицы товар и опции? при составлении запроса не забудьте в селекте их связать, а то выберете очень много строк...
 
SELECT tovar.*, opcion.* FROM tovar, opcion WHERE tovar.id=$id AND opcion.id=$id AND tovar.product > 0 AND opcion.opcion > 0
к сожалению не работает выдает
Код:
Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `tovar.id` = '134' AND `opcion.id'= at line 1
Error No: 1064
я уже и сковычками пробовал и без ковычек одно и тоже.
А как соединены таблицы товар и опции? при составлении запроса не забудьте в селекте их связать, а то выберете очень много строк...
связаны id и много не будет в tovar по любому будет 1 запись, в opcion максимум 6. вообще мне надо вывести num-rows, смысл в том что если будет больше 0, то в листинге товаров появится надпись под заказ, а в карточке уже будет видно какой то опции просто не хватает или всего товара. в базу заносится не минусовое значение а нормально. если в какой то опции будет стоять 1 значит не хватает 1 товара по этой опции.
 
Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `tovar.id` = '134' AND `opcion.id'= at line 1 Error No: 1064
а чему у вас равна переменная которая отвечает за $optionID ? Сдается мне что она пуста, поэтому и ошибка...
 
к сожалению не работает выдает
Код:
Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `tovar.id` = '134' AND `opcion.id'= at line 1
Error No: 1064
я уже и сковычками пробовал и без ковычек одно и тоже.

связаны id и много не будет в tovar по любому будет 1 запись, в opcion максимум 6. вообще мне надо вывести num-rows, смысл в том что если будет больше 0, то в листинге товаров появится надпись под заказ, а в карточке уже будет видно какой то опции просто не хватает или всего товара. в базу заносится не минусовое значение а нормально. если в какой то опции будет стоять 1 значит не хватает 1 товара по этой опции.

SELECT COUNT(opcion.id) FROM tovar, opcion
WHERE tovar.id=opcion.id
AND tovar.id=$id AND opcion.id=$id
AND tovar.product > 0 AND opcion.opcion > 0
 
а чему у вас равна переменная которая отвечает за $optionID ? Сдается мне что она пуста, поэтому и ошибка...
она не пустая она равна 134 в ошибке это видно
SELECT COUNT(opcion.id) FROM tovar, opcion
WHERE tovar.id=opcion.id
AND tovar.id=$id AND opcion.id=$id
AND tovar.product > 0 AND opcion.opcion > 0
спасибо попробую сегодня
 
нужно уточнить как связаны таблицы между собой и в условии выборки тогда использовать COUNT(opcion.id) >0
 
она не пустая она равна 134 в ошибке это видно
В ошибке я вижу, что 134 должна быть равна tovar.id, а вот чему равна `opcion.id'= непонятно... Поэтому и предположил, что проблема в том, что вы передаете в этот селект.

И база вам ответила, что у Вас ошибка в строчке WHERE `tovar.id` = '134' AND `opcion.id'= ---- а это означает, что `opcion.id'= ничему не равно...
 
В ошибке я вижу, что 134 должна быть равна tovar.id, а вот чему равна `opcion.id'= непонятно... Поэтому и предположил, что проблема в том, что вы передаете в этот селект.

И база вам ответила, что у Вас ошибка в строчке WHERE `tovar.id` = '134' AND `opcion.id'= ---- а это означает, что `opcion.id'= ничему не равно...
нет там все нормально, все передается, поискал в сети, вообще непонятно из за чего ошибка
Error No: 1064
может быть много причин и найти проблемно.
Код:
SELECT COUNT(opcion.id) FROM tovar, opcion
WHERE tovar.id=opcion.id
AND tovar.id=$id AND opcion.id=$id
AND tovar.product > 0 AND opcion.opcion > 0
этот вариант тоже не работает, выдает ошибку
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in
все кавычки проверил, все нормально. (
 
Назад
Сверху