Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ошибка в запросе MySQL / 6 сообщений из 6, страница 1 из 1
14.01.2016, 01:41:11
    #39146891
paha4444
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в запросе MySQL
Не работает запрос, немогу понять где поставить кавычки.

1064 - 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 '`id`='ppv.value_id') as values ' at line 16 SQL=SELECT ppv.id, ppv.property_id, ppv.value_id, ppv.text, prop.edit_price, prop.title, prop.type, prop.view, prop.default, prop.prefix, prop.suffix, (SELECT * FROM `u12bz_ksenmart_product_properties_values` WEHRE `id`='ppv.value_id') as values FROM u12bz_ksenmart_products_relations AS pr INNER JOIN u12bz_ksenmart_products AS p ON pr.relative_id=p.id AND p.title LIKE "%Кольц%" INNER JOIN u12bz_ksenmart_product_properties_values AS ppv ON p.id=ppv.product_id INNER JOIN u12bz_ksenmart_properties AS prop ON ppv.property_id=prop.id WHERE pr.relation_type='set' AND pr.product_id=6191

Запрос
Код: plsql
1.
SELECT ppv.id, ppv.property_id, ppv.value_id, ppv.text, prop.edit_price, prop.title, prop.type, prop.view, prop.default, prop.prefix, prop.suffix, (SELECT * FROM `u12bz_ksenmart_product_properties_values` WEHRE `id`='ppv.value_id') as values FROM u12bz_ksenmart_products_relations AS pr INNER JOIN u12bz_ksenmart_products AS p ON pr.relative_id=p.id AND p.title LIKE "%Кольц%" INNER JOIN u12bz_ksenmart_product_properties_values AS ppv ON p.id=ppv.product_id INNER JOIN u12bz_ksenmart_properties AS prop ON ppv.property_id=prop.id WHERE pr.relation_type='set' AND pr.product_id=6191
...
Рейтинг: 0 / 0
14.01.2016, 01:46:34
    #39146892
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в запросе MySQL
paha4444,
WEHRE вместо WHERE
...
Рейтинг: 0 / 0
14.01.2016, 12:16:19
    #39147160
paha4444
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в запросе MySQL
Спасибо. Вчера сам нашел ошибку)

Еще вопрос у меня в подзапросе
Код: plsql
1.
(SELECT pv.title as pv_title FROM #__ksenmart_property_values) as values2  

Возвращает несколько значений, а мне SQL ругается

"
1242 - Subquery returns more than 1 row SQL=SELECT ppv.id, ppv.property_id, ppv.value_id, ppv.text, prop.edit_price, prop.title, prop.type, prop.view, prop.default, prop.prefix, prop.suffix, ppv.price, pv.title as pv_title, pv.image as pv_image, (SELECT pv.title as pv_title FROM u12bz_ksenmart_property_values) as values2 FROM u12bz_ksenmart_products_relations AS pr INNER JOIN u12bz_ksenmart_products AS p ON pr.relative_id=p.id AND p.title LIKE "%Кольц%" INNER JOIN u12bz_ksenmart_product_properties_values AS ppv ON p.id=ppv.product_id INNER JOIN u12bz_ksenmart_properties AS prop ON ppv.property_id=prop.id INNER JOIN u12bz_ksenmart_property_values AS pv ON ppv.value_id=pv.id WHERE pr.relation_type='set' AND pr.product_id=6281 ORDER BY ppv.property_id ASC

"

мне нужно получать в под запросе несколько значений, чтобы было примерно такого вида ответ


[4] => stdClass Object
(
[id] => 26523
[property_id] => 7
[value_id] => 76
[text] =>
[edit_price] => 0
[title] => Знак зодиака
[type] => select
[view] => radio
[default] =>
[prefix] =>
[suffix] =>
[values2] => Array
(
[76] => stdClass Object
(
[id] => 76
[title] => Телец
[image] => images/properties/telec.jpg
[property_id] => 7
[price] =>
[text] =>
)

[80] => stdClass Object
(
[id] => 80
[title] => Дева
[image] => images/properties/deva.jpg
[property_id] => 7
[price] =>
[text] =>
)

[78] => stdClass Object
(
[id] => 78
[title] => Рак
[image] => images/properties/rak.jpg
[property_id] => 7
[price] =>
[text] =>
)

)

)

Возможно ли такое с помощью MySQL?
...
Рейтинг: 0 / 0
14.01.2016, 13:03:20
    #39147238
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в запросе MySQL
paha4444,

бредовый запрос у вас. Берете поле из таблицы с алиасом из внешнего запроса во внутреннем запросе, причем из всей таблицы без каких либо условий. Ну и так делать нельзя, о чем вам и сообщает ошибка. Скорее всего вам нужен join по какому то условию исходя из поставленной задачи.
...
Рейтинг: 0 / 0
14.01.2016, 13:19:20
    #39147256
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в запросе MySQL
paha4444,

так сделать нельзя:
1) запрос составлен неправильно, поэтому MySQL ругается. чтобы запрос работал, подзапрос должен возвращать не более одного значения (правда результат будет совсем не тем, что нужно)
2) составленный запрос точно не вернет желаемого результата, но вообще с помощью PHP и MySQL все вполне решаемо
...
Рейтинг: 0 / 0
15.01.2016, 15:04:55
    #39148294
Mr.Fontaine
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в запросе MySQL
Вот такой вот запрос работает, да?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
              
              SELECT 
  ppv.id, ppv.property_id, ppv.value_id, ppv.text, 
  prop.edit_price, prop.title, prop.type, prop.view, prop.default, prop.prefix, prop.suffix
FROM u12bz_ksenmart_products_relations AS pr 
  INNER JOIN u12bz_ksenmart_products AS p ON pr.relative_id=p.id AND p.title LIKE "%Кольц%" 
  INNER JOIN u12bz_ksenmart_product_properties_values AS ppv ON p.id=ppv.product_id 
  INNER JOIN u12bz_ksenmart_properties AS prop ON ppv.property_id=prop.id 
WHERE pr.relation_type='set' AND pr.product_id=6191



А теперь попробуй прикрикруть к нему свой ошибочный select
Код: sql
1.
SELECT * FROM `u12bz_ksenmart_product_properties_values` WEHRE `id`='ppv.value_id'


наверное лучше через джойн... Один же раз табличку с values уже смог связать.
Немного повангую, но думается мне, что для джойна в твоём запрсое надо бы убрать кавычки
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
              SELECT 
  ppv.id, ppv.property_id, ppv.value_id, ppv.text, 
  prop.edit_price, prop.title, prop.type, prop.view, prop.default, prop.prefix, prop.suffix, ppv2.*
FROM u12bz_ksenmart_products_relations AS pr 
  INNER JOIN u12bz_ksenmart_products AS p ON pr.relative_id=p.id AND p.title LIKE "%Кольц%" 
  INNER JOIN u12bz_ksenmart_product_properties_values AS ppv ON p.id=ppv.product_id 
  INNER JOIN u12bz_ksenmart_properties AS prop ON ppv.property_id=prop.id 
  INNER JOIN u12bz_ksenmart_product_properties_values AS ppv2 ON p.id=ppv2.value_id 
WHERE pr.relation_type='set' AND pr.product_id=6191
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ошибка в запросе MySQL / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]