代码之家  ›  专栏  ›  技术社区  ›  Vijay

如何使用子查询为选定列使用where条件?

  •  3
  • Vijay  · 技术社区  · 14 年前

    我有公司和产品两个栏目。

    我使用以下查询获取与特定字符串匹配的产品…

    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 回复  |  直到 14 年前
        1
  •  5
  •   Tom Bartel    14 年前

    您要做的不需要子查询,一个简单的连接就足够了。试试这个:

    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%'
    

    我认为您尝试的查询的问题是,您不能在 where 条款。你可以试试 having 相反。

        2
  •  1
  •   Jrubins    14 年前

    你可以使用

    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'