|
|
|
Соединение двух таблиц с критерием LIKE
|
|||
|---|---|---|---|
|
#18+
Добрый день... Интересный запрос, но слишком долго уже мучаюсь.... мож поможете =) Есть две таблы CREATE TABLE `SubItem` ( `id` bigint(20) NOT NULL auto_increment, `item_id` bigint(20) NOT NULL default '0', `name` varchar(255) NOT NULL default '', `part_num` varchar(255) default NULL, `descrip` text, PRIMARY KEY (`id`) ) TYPE=MyISAM CREATE TABLE `Item` ( `id` bigint(20) NOT NULL auto_increment, `name` varchar(255) NOT NULL default '', `part_num` varchar(255) default NULL, `descrip` text, `featured` tinyint(1) default NULL, `add_date` datetime default NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM Табла SubItem знает свой `Item` по `item_id` Так вот... Нужно связать выборкой две таблицы по критерию: WHERE ((Item.name LIKE '%' or SubItem.name LIKE '%') and (Item.part_num LIKE '%$form_num%' or SubItem.part_num LIKE '%$form_num%')) $form_num приходит с формы. Но не в этом, дело в том что нужно чтоб если у Item and SubItem есть удовлетворяющие критерию WHERE записи из таблы то тогда они повторялись. Например: В табле Item есть запись с part_num qqqsdfsds а также у SubItem который относится к этому Item.id есть запись с part_num mvnmcxcqqq то есть условие соблюдается в двух случаях и выборка возвращает один результат, а нужно чтоб возвращало два =( Вот SELECT: SELECT Item.id, Item.name, Item.part_num, SubItem.name as sub_name, SubItem.part_num as sub_part_num FROM Item LEFT JOIN SubItem ON SubItem.item_id = Item.id WHERE ((Item.name LIKE '%' and Item.part_num LIKE '%qqq%') and (SubItem.name LIKE '%' and SubItem.part_num LIKE '%qqq%')) Подкажите где и что я не так делаю, бо уже психую.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2005, 13:31 |
|
||
|
Соединение двух таблиц с критерием LIKE
|
|||
|---|---|---|---|
|
#18+
Сам у себя нашел баг, но это просто от того что пробую уже как только могу SELECT Item.id, Item.name, Item.part_num, SubItem.name as sub_name, SubItem.part_num as sub_part_num FROM Item LEFT JOIN SubItem ON SubItem.item_id = Item.id WHERE ((Item.name LIKE '%' and Item.part_num LIKE '%qqq%') or (SubItem.name LIKE '%' and SubItem.part_num LIKE '%qqq%')) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2005, 13:46 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=661&tid=1854164]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
| others: | 254ms |
| total: | 395ms |

| 0 / 0 |
