vi muitos post desse assunto, mas estou com dificuldade, pois meu modelo é um pouco diferente. Tenho duas tabelas, IMOVEIS e FOTOS, sendo que na tabelas FOTOS, tenho varios registros para cada IMOVEL. Então meu problema é Listar em um Gridview os imoveis, basedo em uma busca, e mostrar junto uma unica foto. Usando INNER JOIN, ou LEFT JOIN, ele me retorna os imoveis, conforme o nº de fotos que tem no cadastro, só que preciso que este Select, me retorne uma vez o só o Imovel com Uma foto. Criei em FOTOS um campo chamado: 'principal', sendo que se este estiver marcado como true, retorna junto com os dados do IMOVEL. Segue pedaço do codigo que to usando: SqlConnection oConn = null; SqlCommand oComm; SqlDataReader oReader; string sSQL; string connStr = ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString; sSQL = "SELECT IMOVEIS.idimovel, IMOVEIS.tipoimovel, IMOVEIS.domitorios, IMOVEIS.endereco, IMOVEIS.bairro, IMOVEIS.valor, IMOVEIS.datacadastro, IMOVEIS.status, IMO_FOTOS.imagem FROM IMOVEIS LEFT JOIN IMO_FOTOS ON (IMOVEIS.idimovel = IMO_FOTOS.idimovel) WHERE IMO_FOTOS.principal = 1 " + QueryCodigo + QueryImovel + Querydormi + QueryPreco + QueryBairro + " ORDER BY datacadastro desc"; Alguma luz nessa situação? Detalhes: ASP.NET em C# com SQL server