|
|
|
Создать двойной запрос
|
|||
|---|---|---|---|
|
#18+
Имеются две таблицы: 1) art_catalog 2) art_products 1) catalog_id catalog_name parent_id catalog_pic 2) product_id product_name product_pic catalog_id product_visible product_hits product_new product_sale product_price product_count product_available product_img product_code product_param1 product_param2 product_param3 product_param4 product_anons product_description Необходимо сделать запрос что бы на выходе получить: catalog_id - catalog_name - parent_id - catalog_pic - product_pic т.е product_pic последнего товара из категории с parent_id получается что catalog_id номер родительской категории в которой товаров по сути нет, в ней есть лишь дочерние категории с номером parent_id пробую запрос типа: SELECT catalog_id, catalog_name, parent_id, catalog_pic FROM art_catalog (SELECT product_pic FROM art_products WHERE catalog_id IN (SELECT catalog_id FROM art_catalog WHERE parent_id = '1') AND product_visible = '1' ORDER BY product_id DESC LIMIT 1) собственно как получить желаемый результат? P.S Благодарю за внимание! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2014, 14:05:58 |
|
||
|
Создать двойной запрос
|
|||
|---|---|---|---|
|
#18+
мдя... как думаете, зачем тут визибл и лимит 1 и ордер? для получения списка??? опечатка, или просто копипаст что под руку попало, чтоб сделась видимость попытки... ЗЫ ТС - не обижайся, я и куча других бы помогли, даже если сам не пытался...просто попытка хоть чтото сделать, даём понимание, самой задачи, и как следствие чоткое её изложение... а сдесь тз в стиле менеджера - сам не знаю что хочу, но чтобы както было так. вломы пытаться догадываться что именно имелось ввиду в фразе надо получить и список полей... опять же, попытался бы, дошол бы до связи и знал бы что в перечне поля разных таблиц(одной но с разными псевдонимами) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2014, 15:28:18 |
|
||
|
Создать двойной запрос
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, Уважаемый! Буду Вам очень благодарен если вы подскажите мне какой запрос составить В общем так, дополнение к предыдущему посту... имеется таблица art_catalog : catalog_id catalog_name parent_id catalog_pic 1 Искусство 0 pic1231.jpg 2 Графика 1 pic3423.jpg 3 живопись 1 pic2324.jpg 4 сувениры 0 pic45645.jpg 5 игрушки 4 pic89789.jpg 6 керамика 4 pic2342342.jpg так же таблица art_products product_id product_name product_pic catalog_id product_visible 1 картина 1 kartina_pic1.jpg 2 1 2 картина 2 kartina_pic2.jpg 2 1 3 ижображение kartina1.jpg 3 1 4 изобра kartina22.jpg 3 1 5 игрушка1 toy1.jpg 5 1 6 игрушка2 toy2.jpg 5 1 7 ваза1 vaza1.jpg 6 1 8 ваза2 vaza2.jpg 6 1 9 ваза3 vaza3.jpg 6 0 на выходе хотелось бы получить такую таблицу: catalog_id catalog_name parent_id catalog_pic product_pic 1 Искусство 0 pic1231.jpg kartina_pic2.jpg 4 сувениры 0 pic45645.jpg vaza2.jpg т.е получить только родителей, и картинку последнего товара доваленного в его подкатегорию(не во все, а просто последний товар добавленный в любую из подкатегорий) при этом product_visible у товара должен быть 1 Спасибо Вам за Вашу помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2014, 20:11:57 |
|
||
|
Создать двойной запрос
|
|||
|---|---|---|---|
|
#18+
Не нашел кнопки изменить сообщение В общем так, дополнение к предыдущему посту... имеется таблица art_catalog : catalog_id <---------> catalog_name <---------> parent_id <---------> catalog_pic 1 <---------------------> Искусство <--------------> 0 <-----------> pic1231.jpg 2 <---------------------> Графика <----------------> 1 <------------> pic3423.jpg 3 <---------------------> живопись <---------------> 1 <------------> pic2324.jpg 4 <---------------------> сувениры <---------------> 0 <----------> pic45645.jpg 5 <---------------------> игрушки <----------------> 4 <------------> pic89789.jpg 6 <---------------------> керамика <---------------> 4 <----------> pic2342342.jpg так же таблица art_products product_id <---------> product_name <---------> product_pic <---------> catalog_id <---------> product_visible 1 <------------------------> картина 1 <---------> kartina_pic1.jpg <---------> 2 <------------------------> 1 2 <------------------------> картина 2 <---------> kartina_pic2.jpg <---------> 2 <------------------------> 1 3 <------------------------> ижображение <---------> kartina1.jpg <---------> 3<------------------------>1 4 <------------------------> изобра <---------> kartina22.jpg <----------------> 3<------------------------>1 5 <------------------------> игрушка1 <---------> toy1.jpg <-----------------> 5<------------------------>1 6 <------------------------> игрушка2 <---------> toy2.jpg <----------------> 5 <------------------------>1 7 <------------------------> ваза1 <---------> vaza1.jpg <------------------> 6<------------------------>1 8 <------------------------> ваза2 <---------> vaza2.jpg <-----------------> 6<------------------------>1 9 <------------------------> ваза3<---------> vaza3.jpg<------------------------>6<------------------------>0 на выходе хотелось бы получить такую таблицу: catalog_id<---------> catalog_name<---------> parent_id<---------> catalog_pic<---------> product_pic 1 <---------------------> Искусство <--------------> 0 <---------> pic1231.jpg <--------------> kartina_pic2.jpg 4 <---------------------> сувениры <-------------> 0 <-----------> pic45645.jpg <---------------> aza2.jpg т.е получить только родителей, и картинку последнего товара доваленного в его подкатегорию(не во все, а просто последний товар добавленный в любую из подкатегорий) при этом product_visible у товара должен быть 1 Спасибо Вам за Вашу помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2014, 20:18:30 |
|
||
|
Создать двойной запрос
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. это получим список категория(айди) - продукт(айди, последней визибл фотки) теперь дело за малым, к этим парам долепить таблицы Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. навскидку както так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2014, 21:56:55 |
|
||
|
Создать двойной запрос
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, Спасибо Вам большое за помощь! Уже ближе к тому что мне было нужно... в общем изменив Ваш запрос под себя: авторSELECT * FROM ( SELECT a.parent_id, MAX(aa.product_id) AS 'product_id' FROM art_catalog a JOIN art_products aa ON (aa.catalog_id = a.catalog_id ) WHERE parent_id <> 0 AND aa.product_visible 1 GROUP BY a.parent_id) temp JOIN art_catalog a1 ON (a1.catalog_id = temp.parent_id) JOIN art_products a2 ON (a2.product_id = temp.product_id) Выдает ошибку: #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 '1 GROUP BY a.parent_id) temp JOIN art_catalog a1 ON (a1.catalog_id = temp.pare' at line 6 И судя по всему ему не нравиться AND aa.product_visible 1 , наверное потому что он относится ко второму селекту который в свою очередь пытается выбрать это поле из талицы в котором его нету? art_catalog? P.S При попытке вместо звездочки прописать интересующие меня поля так же выходит ошибка: #1052 - Column 'catalog_id' in field list is ambiguous менял это SELECT * FROM на это SELECT catalog_id, catalog_name, product_pic FROM P.S Помогите разобраться :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2014, 15:31:49 |
|
||
|
Создать двойной запрос
|
|||
|---|---|---|---|
|
#18+
13eqwe23И судя по всему ему не нравиться AND aa.product_visible 1 aa.product_visible 1 ??? aa.product_visible = 1 !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2014, 20:04:15 |
|
||
|
Создать двойной запрос
|
|||
|---|---|---|---|
|
#18+
13eqwe23При попытке вместо звездочки прописать интересующие меня поля так же выходит ошибка: #1052 - Column 'catalog_id' in field list is ambiguous пишите названия полей в виде Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 05:28:54 |
|
||
|
Создать двойной запрос
|
|||
|---|---|---|---|
|
#18+
alex56465749876545313eqwe23И судя по всему ему не нравиться AND aa.product_visible 1 aa.product_visible 1 ??? aa.product_visible = 1 !!! спасибо, помогло tanglir13eqwe23При попытке вместо звездочки прописать интересующие меня поля так же выходит ошибка: #1052 - Column 'catalog_id' in field list is ambiguous пишите названия полей в виде Код: plaintext пытаюсь вместо звездочки указать catalog_id или art_catalog.catalog_id или a.catalog_id или aa.catalog_id на все попытки одна и та же песня Unknown column ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2014, 08:29:40 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=164&tid=1834287]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
47ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 370ms |

| 0 / 0 |
