pedrotuga Posted March 15, 2006 at 12:15 AM Report #18368 Posted March 15, 2006 at 12:15 AM Tendo estas tabelas CREATE TABLE range_limits (range NUMERIC(2) CONSTRAINT pk PRIMARY KEY, low_limit NUMERIC(7), up_limit NUMERIC(7) ); Create table elements (ID NUMERIC(4) CONSTRAINT pk2 PRIMARY KEY, name varchar(100), testvalue NUMERIC(7) ); como eh k faco para listar todos os nomes e o range no qual o testvalue se insere? alguma sugestao quanto ao sql?
nuno.reis Posted March 15, 2006 at 11:05 AM Report #18393 Posted March 15, 2006 at 11:05 AM Assim de repente sem testar... não garanto nada, mas tenta algo do tipo SELECT DISTINCT elements.name, range_limits.range FROM elements, range_limits WHERE elements.testvalue<range_limits.up_limit AND elements.testvalue>range_limits.low_limit Reis
Destineo Posted March 15, 2006 at 11:34 AM Report #18394 Posted March 15, 2006 at 11:34 AM Oi pedrotuga, Poderás fazer um join entre as duas tabelas, ou seja algo como SELECT e.name, r.range FROM elements e LEFT JOIN range_limits r ON e.testvalue BETWEEN r.low_limit AND r.up_limit - Destineo
saramgsilva Posted March 15, 2006 at 05:42 PM Report #18429 Posted March 15, 2006 at 05:42 PM Assim de repente sem testar... não garanto nada, mas tenta algo do tipo SELECT DISTINCT elements.name, range_limits.range FROM elements, range_limits WHERE elements.testvalue<range_limits.up_limit AND elements.testvalue>range_limits.low_limit Reis mas aqui estas a fazer o produto cartesiano...e tipo nao seria mais correcto fazer 1 juncao... eu tb nao percebi bem o que ele keria... Oh pedrotuga...esplica la melhor... 😕 www.saramgsilva.com As minhas apps no WP7 Marketplace Youtube : Galinho - Windows Phone 7.5
nuno.reis Posted March 15, 2006 at 06:47 PM Report #18433 Posted March 15, 2006 at 06:47 PM Boas, As junções funcionam bem apenas quando sabes qual é ( e qual a versão ) do que estás a usar. Nas aplicações que desenvolvo utilizo uma camada de interface que me traduz listas de comandos em comandos sql, e fá-lo tendo em conta se estou a utilizar ORACLE, SQL SERVER, MySql ou InterBase... assim, quando quero fazer uma query rápida, e directa, nunca me estou a chatear a ver qual os joins que esse gestor permite usar e de que forma. Uso esta forma que funciona em todos os gestores que uso... Já o left join... por exemplo em ORACLE < 9 não vai funcionar... Além disso, muitos dos gestores (julgo que todos os que uso...) traduzem os joins em cláusulas where. Foi por isso que não usei joins e usei o produto cartesiano. É que todo o SQL que faço, faço-o de forma a poder correr em todo lado... amanhã pode haver um cliente que tenha licença para outro software e não tenho paciência para estar a alterar todo (ou parte) do código SQL que está num projecto. Reis
saramgsilva Posted March 15, 2006 at 07:07 PM Report #18439 Posted March 15, 2006 at 07:07 PM É que todo o SQL que faço, faço-o de forma a poder correr em todo lado... amanhã pode haver um cliente que tenha licença para outro software e não tenho paciência para estar a alterar todo (ou parte) do código SQL que está num projecto. Reis pois nesse sentido é bom, mas depois nao repetes info... ( ok vou dar 1 vista de olhos no sql, nessa parte... lol ) :dontgetit: eu os join que uso, sao coisas muito simples...nao ando com grandes complicaçoes... 😕 www.saramgsilva.com As minhas apps no WP7 Marketplace Youtube : Galinho - Windows Phone 7.5
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now