Как использовать, где условие для выбранного столбца, используя подзапрос? - PullRequest
3 голосов
/ 29 апреля 2010

У меня есть две колонки как компания и продукт.

Я использую следующий запрос, чтобы получить продукты, соответствующие определенной строке ...

select id,(select name from company where product.cid=company.id) as 
company,name,selling_price,mrp from product where name like '$qry_string%'

Но когда мне нужно перечислить продукты конкретной компании, как я могу это сделать?

я попробовал следующее, но в духе

select id,(select name from company where product.cid=company.id) as
company,name,selling_price,mrp from product where company like '$qry_string%'

Помоги мне

Ответы [ 2 ]

5 голосов
/ 29 апреля 2010

То, что вы пытаетесь сделать, не требует подзапроса, достаточно простого соединения. Попробуйте это:

select c.name, p.id, p.name, p.selling_price, p.mrp
  from company c
 inner join product p
    on c.id = p.cid
 where c.name like '$qry_string%'

Я думаю, что проблема с запросом, который вы пробовали, заключается в том, что вы не можете использовать поля, которые являются результатом подзапроса (в вашем случае, "company") в предложении where. Вместо этого вы можете попробовать having.

1 голос
/ 29 апреля 2010

Вы можете использовать

SELECT p.id, c.name AS company, p.name, p.selling_price, p.mrp FROM product p, company c WHERE p.cid=c.id AND c.name LIKE '$qry_string'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...