ricardocoimbra Posted November 21, 2006 at 11:20 AM Report #65678 Posted November 21, 2006 at 11:20 AM Tenho 2 tabelas Tabela1 - id produto Tabela2 - id produto Como faço uma query a pesquisar nas duas tabelas para obter por exemplo o produto laranjas $query = "SELECT produto FROM `Tabela1` WHERE produto='laranjas"; Mas e para fazer nas duas ao mesmo tempo?
karva Posted November 21, 2006 at 11:24 AM Report #65680 Posted November 21, 2006 at 11:24 AM talvez isto te ajude: http://www.w3schools.com/sql/sql_union.asp Proud LEIC-A@IST student!
ricardocoimbra Posted November 21, 2006 at 11:50 AM Author Report #65684 Posted November 21, 2006 at 11:50 AM Pois assim dava: mas imaginemos que eu tinha um campo diferente: Tabela1 - id produto revendedor Tabela2 - id produto cliente Ele já não me vai listar direito. Como fazia? Porque eu ao fazer isto ele não me vai dar certo: SELECT id,produto,revendedor,revendedor FROM tabela1 where produto='laranja' UNION SELECT id,produto,cliente FROM tabela2 where produto='laranja' talvez isto te ajude: http://www.w3schools.com/sql/sql_union.asp
killercode Posted November 21, 2006 at 11:59 AM Report #65686 Posted November 21, 2006 at 11:59 AM SELECT produto FROM tabela1, tabela2 WHERE produto = 'laranjas' easy 😉😄 Geek PressWeboeste.Com
killercode Posted November 21, 2006 at 11:59 AM Report #65687 Posted November 21, 2006 at 11:59 AM se ficaste com alguma duvida é so dizeres... Geek PressWeboeste.Com
ricardocoimbra Posted November 21, 2006 at 12:03 PM Author Report #65688 Posted November 21, 2006 at 12:03 PM Isso não dá para fazer, porque ele assim não sabe a qual tabela vai buscar. SELECT produto FROM tabela1, tabela2 WHERE produto = 'laranjas' easy 😉😄
killercode Posted November 21, 2006 at 12:10 PM Report #65690 Posted November 21, 2006 at 12:10 PM lol tens razão.... então tens as tabelas mal normalizadas.... afinal produto é produto e não tem de estar em 2 tabelas.... podes dizer qual é o exemplo em concreto? Geek PressWeboeste.Com
shumy Posted November 21, 2006 at 12:12 PM Report #65692 Posted November 21, 2006 at 12:12 PM Não estou muito bem a ver a duvida, mas se queres unir querys tens de ter campos iguais. tipo: SELECT id,produto,revendedor AS campo FROM tabela1 WHERE produto='laranja' UNION ALL SELECT id,produto,cliente AS campo FROM tabela2 WHERE produto='laranja' isto se revendedor e cliente forem do mesmo tipo de dados. Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!
ricardocoimbra Posted November 21, 2006 at 12:15 PM Author Report #65693 Posted November 21, 2006 at 12:15 PM Bem neste caso devia era estar tudo na mesma tabela, mas como não fui eu que começei com o trabalho. E ja tem muitos registos inseridos agora tenho que remendar o erro. A dificuldade está que eles estao em tabelas separadas, mas union dava se os campos fossem todos iguais. mas ele tem um campo diferente revendedor e o cliente logo ai torna dificil. E que não estou mesmo a ver solução. lol tens razão.... então tens as tabelas mal normalizadas.... afinal produto é produto e não tem de estar em 2 tabelas.... podes dizer qual é o exemplo em concreto?
killercode Posted November 21, 2006 at 12:23 PM Report #65695 Posted November 21, 2006 at 12:23 PM normalizas uma das tabelas.... e depois tentas copiar os dados atraves de querys... não da? 😉 Geek PressWeboeste.Com
ricardocoimbra Posted November 21, 2006 at 12:24 PM Author Report #65696 Posted November 21, 2006 at 12:24 PM shumy é mesmo isso 😉 obrigado a todos! um abraço Não estou muito bem a ver a duvida, mas se queres unir querys tens de ter campos iguais. tipo: SELECT id,produto,revendedor AS campo FROM tabela1 WHERE produto='laranja' UNION ALL SELECT id,produto,cliente AS campo FROM tabela2 WHERE produto='laranja' isto se revendedor e cliente forem do mesmo tipo de dados.
ricardocoimbra Posted November 21, 2006 at 12:26 PM Author Report #65697 Posted November 21, 2006 at 12:26 PM Não vale apena killercode com o AS campo funciona perfeitamente desconhecia, pk nunca o tinha utilizado assim algo semelhante. Alias assim como tinha feito tb estava a dar o campo é que ficava como revendedor normalizas uma das tabelas.... e depois tentas copiar os dados atraves de querys... não da? 😉
killercode Posted November 21, 2006 at 12:29 PM Report #65698 Posted November 21, 2006 at 12:29 PM humm.... ok.. mas na minha opinião as vezes mais vale ter trabalho e corrigir tudo de raiz.... do q ter o dobro do trabalho mais tarde... Geek PressWeboeste.Com
ricardocoimbra Posted November 21, 2006 at 12:31 PM Author Report #65699 Posted November 21, 2006 at 12:31 PM isso é verdade eu que o diga... tá me a dar uma dor de cabeça as vezes... humm.... ok.. mas na minha opinião as vezes mais vale ter trabalho e corrigir tudo de raiz.... do q ter o dobro do trabalho mais tarde...
shumy Posted November 21, 2006 at 12:32 PM Report #65700 Posted November 21, 2006 at 12:32 PM isso é verdade eu que o diga... tá me a dar uma dor de cabeça as vezes... humm.... ok.. mas na minha opinião as vezes mais vale ter trabalho e corrigir tudo de raiz.... do q ter o dobro do trabalho mais tarde... Apoiado... se tiverem muito trabalho pela frente. Começar bem é o melhor passo para acabar bem. Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!
djthyrax Posted November 21, 2006 at 07:19 PM Report #65797 Posted November 21, 2006 at 07:19 PM isto é mais SQL do que PHP mas pronto 😞 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
Rui Carlos Posted November 21, 2006 at 08:48 PM Report #65828 Posted November 21, 2006 at 08:48 PM isto é mais SQL do que PHP mas pronto 😞 pois, também não vi nada de PHP... Rui Carlos Gonçalves
M6 Posted November 29, 2006 at 07:19 PM Report #67669 Posted November 29, 2006 at 07:19 PM Bem neste caso devia era estar tudo na mesma tabela, mas como não fui eu que começei com o trabalho. E ja tem muitos registos inseridos agora tenho que remendar o erro. A dificuldade está que eles estao em tabelas separadas, mas union dava se os campos fossem todos iguais. mas ele tem um campo diferente revendedor e o cliente logo ai torna dificil. E que não estou mesmo a ver solução. Não obrigatoriamente, há alguns truques simples: SELECT id, produto, revendedor, NULL as cliente FROM tabela1 WHERE produto='laranja' UNION ALL SELECT id, produto, NULL as revendedor, cliente AS campo FROM tabela2 WHERE produto='laranja' onde ficas com 4 colunas, ou então SELECT id, produto, (VARCHAR(255)) revendedor as nome, 'revendedor' as tipo,FROM tabela1 WHERE produto='laranja' UNION ALL SELECT id, produto, (VARCHAR(255)) cliente as nome, 'cliente' as tipo FROM tabela2 WHERE produto='laranja' fazendo um cast para varchar consegues o que queres. Atenção que "(VARCHAR(255)) cliente" quer apenas dizer que faz um cast para varchar(255), tens de ver no manual da BD como se faz um cast para varchar. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar."
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