вот у меня есть запрос. (это поиск по атрибутам) Код (PHP): select id_obj from as_structure as t inner join as_shop_attr_vals as asav1_1 on t.id_obj=asav1_1.id_product and asav1_1.id_attribute=46 and asav1_1.id_attr_value=44 inner join as_shop_attr_vals as asav1_2 on t.id_obj=asav1_2.id_product and asav1_2.id_attribute=46 and asav1_2.id_attr_value=45 attr_value=44 - это англия id_attr_value=45 - это германия результат - 0 записей. хотя в базе есть товары производителя из англии. (из германии нет) если искать так Код (PHP): select id_obj from as_structure as t inner join as_shop_attr_vals as asav1_1 on t.id_obj=asav1_1.id_product and asav1_1.id_attribute=46 and asav1_1.id_attr_value=44 то все ок, покажет товары из англии. вообщем, как сделать, что бы результат взаимодополнялся? а то если нет товаров с каким то атрибутом - то выдаст - 0, хотя есть товары и с другими атрибутами. за ранее спасибо) PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
а чем юнион неудобен? у меня голова сегодня не очень работает но я так понимаю есть сет продуктов с некоторым набором атрибутов и нужно фильтрануть их дополнительно по стране. мне тут как раз видится юнион - он добавит кортежей в результирующую таблицу. а джоин не видится - он добавляет поля в кортеж, что имхо не совсем верно. может быть.
таки ( asav1_1.id_attr_value=44 OR asav1_1.id_attr_value=45 ) скобочки не забывать ставить!!! т.к. приоритет у OR ниже, чем у AND. или asav1_1.id_attr_value IN(45, 46) ну или два простых запроса, объеденённые через UNION