|
|
|
Использование внешнего значения внутри Join
|
|||
|---|---|---|---|
|
#18+
вот есть запрос авторSELECT `f`.`id_ica_pieces` `id`, 0 `selected`, `f`.*, COUNT(`ps`.`id_product`) `count` FROM `ps_ica_pieces` `f` INNER JOIN ( SELECT `id_ica_pieces`, `id_ica_shape` FROM `ps_ica_canvasconfig` GROUP BY `id_ica_pieces`, `id_ica_shape`) `cc` ON `f`.`id_ica_pieces` = `cc`.`id_ica_pieces` LEFT JOIN ( SELECT `p`.`id_product`, `p`.`id_ica_shape`, `p`.`id_ica_artist` FROM `ps_product` `p` INNER JOIN `ps_product_lang` `l` ON `l`.`id_product` = `p`.`id_product` AND `l`.`id_lang` = 1 LEFT JOIN `ps_ica_artist` `a` ON `a`.`id_ica_artist` = `p`.`id_ica_artist` INNER JOIN (select `c`.`width`, `c`.`height`,`c`.`id_ica_shape`, `c`.`id_ica_pieces` from `ps_ica_canvasconfig` `c` WHERE `c`.`id_ica_pieces` IN (1) GROUP BY `id_ica_shape` ) `c` on `c`.`id_ica_shape` = `p`.`id_ica_shape` LEFT JOIN `ps_ica_list_product` `lp` ON `lp`.`id_product` = `p`.`id_product` AND `lp`.`id_ica_list` = 262 WHERE `p`.`active` = 1 AND `p`.`ica_active` = 1 AND `p`.`id_ica_artist` IN(301) AND GREATEST(`c`.`width`, `c`.`height`) <= `p`.`ica_max_size` ) `ps` ON `ps`.`id_ica_shape` = `cc`.`id_ica_shape` WHERE `f`.`id_ica_pieces` IS NOT NULL GROUP BY `f`.`id_ica_pieces` ORDER BY `count` DESC как-то нужно чтобы вместо WHERE `c`.`id_ica_pieces` IN (1) подставлялось значение из `f`.`id_ica_pieces` ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 13:06:45 |
|
||
|
Использование внешнего значения внутри Join
|
|||
|---|---|---|---|
|
#18+
Новичек82, то, что ты хочешь - суть есть LATERAL JOIN | [CROSS | OUTER] APPLY, но в MySQL оно вообще ни в каком виде не представлено. поэтому и написать так напрямую не выйдет. нужно переписывать запрос с хитростью... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 13:15:51 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=116&tid=1832373]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
239ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
| others: | 207ms |
| total: | 529ms |

| 0 / 0 |
