Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
tenho duas tabelas distintas que gostaria de buscas nelas através de um form do site...
os campos a serem buscados seriam os seguintes:
autor = tabela 1
titulo = tabela 1
texto = tabela 1
autor = tabela 2
titulo = tabela 2
texto = tabela 2
tenho essa sql, mas que retorna dados repetidos, repetiu uma busca 7 vezes, sendo que tenho apenas um registro com a busca que informei...
SELECT
jre_video_aulas.*,
jre_noticias.*
FROM
jre_video_aulas,
jre_noticias
WHERE
jre_video_aulas.autor LIKE ? OR
jre_video_aulas.titulo LIKE ? OR
jre_video_aulas.texto LIKE ? OR
jre_noticias.autor LIKE ? OR
jre_noticias.titulo LIKE ? OR
jre_noticias.texto LIKE ?
ORDER BY
jre_video_aulas.data_hora DESC,
jre_noticias.data_hora DESC
LIMIT 10selecionar os campos das duas tabelas, para o form de procura encontrar algo
bom não é assim que faz não filhota.. tenta buscar no google por inner join
no mais fica assim
SELECT * FROM tabela1 INNER JOIN tabela2 ON ligacao1 = ligacao2 WHERE suas condi~ções
>
bom não é assim que faz não filhota.. tenta buscar no google por inner join
no mais fica assim
SELECT * FROM tabela1 INNER JOIN tabela2 ON ligacao1 = ligacao2 WHERE suas condi~ções
Jordan, no meu caso não há ligação, quero apenas buscar um valor nas duas tabelas... entendeu?
assim então faz duas consultas... ou eu não to entendendo bem
>
assim então faz duas consultas... ou eu não to entendendo bem
assim, o usuário vai digitar no formulário o que ele deseja procurar, ai quero que seja procurado nas duas tabelas do banco de dados, a tabela videos e a tabela noticias, entendeu?
Procure por UNION.
>
Procure por UNION.
achei isso no manual do mysql, mas ele retorna apenas um valor de cada ocorrência, tipo tinha várias noticias e video aulas do mesmo autor, mas ele retornou somente uma, é como se ele tivesse agrupado os valores, sinto que estou quase lá...
(SELECT autor FROM jre_video_aulas WHERE autor LIKE '%Ju%')
UNION
(SELECT autor FROM jre_noticias WHERE autor LIKE '%a%')
Bem, você esta usando um filtro com LIKE, este filtro atende aos diversos registros da tabela?
Você pode tentar o UNION ALL.
Você pode fazer isso de uma maneira muito simples , e direta.
SELECT * FROM tabela1,tabela2 WHERE autor CONTAIN '$autor' OR
titulo CONTAIN '$titulo' OR
texto CONTAIN '$texto'
é íncrivel como as pessoas ignoram a simplicidade.
Lembrando que no exemplo acima utilizei variáveis, que virão de um formulário. os valores podem ser passados pelo método POST ou GET. Abraços!
>
Bem, você esta usando um filtro com LIKE, este filtro atende aos diversos registros da tabela?
Você pode tentar o UNION ALL.
beleza Prog, depois de muito tentar, consegui, usei o UNION ALL e deu certo, valeu pela dica...
>
Você pode fazer isso de uma maneira muito simples , e direta.
SELECT * FROM tabela1,tabela2 WHERE autor CONTAIN '$autor' OR
titulo CONTAIN '$titulo' OR
texto CONTAIN '$texto'
é íncrivel como as pessoas ignoram a simplicidade.
Ufa... ainda bem que você trouxe sua solução "totalmente compatível" com ANSI, "rápida", "simples" e "direta".
hum...
Qual seu objetivo com esta query?