[SQL]Verifier la presence d'une entrée dans plusieurs tables
16 messages • Page 1 sur 2 • 1, 2
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
-

Djoule_logo - WRInaute passionné

- Messages: 712
- Inscription: Mer Mai 30, 2007 0:21
[SQL]Verifier la presence d'une entrée dans plusieurs tables
Bonjour à tous
Etant donné que je ne suis pas très doué en SQL, je me tourne vers vous pour ma requette.
Je souhaite verifier si une entrée existe dans au moins une de mes tables. Pour cela il faut donc que je les verifie toutes.
Quelqu'un connaitrait il la syntaxe (même approchante) de ce genre de requette?
Merci à vous
Etant donné que je ne suis pas très doué en SQL, je me tourne vers vous pour ma requette.
Je souhaite verifier si une entrée existe dans au moins une de mes tables. Pour cela il faut donc que je les verifie toutes.
Quelqu'un connaitrait il la syntaxe (même approchante) de ce genre de requette?
Merci à vous
-

nickargall - WRInaute accro

- Messages: 5335
- Inscription: Lun Juin 13, 2005 14:13
- Code: Tout sélectionner
SELECT `id` FROM `table1` WHERE (( `id` IN (SELECT `id` FROM `table2`) OR ( `id` IN (SELECT `id` FROM `table3`) OR ( `id` IN (SELECT `id` FROM `table4`)) AND `id`=$tavaleur
ptet qu'un truc comme ça ... (non garanti) et sans doute un peu lourd ...
-

Djoule_logo - WRInaute passionné

- Messages: 712
- Inscription: Mer Mai 30, 2007 0:21
hmm, ça me semble effectivement un peu tordu et un peu lourd. J'ai vu dans la doc SQL qu'il y avait une commande MATCH. J'essaye de comprendre comment elle marche mais j'avoue que pour l'instant je nage.
Mais y'a peut être un truc a creuser de ce coté là.
Mais y'a peut être un truc a creuser de ce coté là.
La recherche full text n'a rien avoir avec ce que tu veux faire. La requête de nickargall ne devrait pas être trop lourde puisqu'elle ne travaille quasiment que sur des indexes.
Tu peux même faire que des count(*) à la place, ça ira encore plus vite.
Exemple:
Tu peux même faire que des count(*) à la place, ça ira encore plus vite.
Exemple:
- Code: Tout sélectionner
select "found"
from (select count(*) as c1 from table1) as t1,(select count(*) as c2 from test2) as t2
WHERE c1 > 0 OR c2 > 0
-

Djoule_logo - WRInaute passionné

- Messages: 712
- Inscription: Mer Mai 30, 2007 0:21
Peux tu m'expliquer ta requette YoyoS ?
Quand je dis que je suis une brele
Quand je dis que je suis une brele
Ca s'appelle une requête orthogonale. Ca veut dire que au lieu de faire un select from table, tu fais un select from (une résultat d'une table). Dans ce cas, je le fais sur deux résultats de tables comme si j'avais fait select * from table1,table2
J'affiche simplement found quand il trouve au moins 1 résultat dans la table t1 ou t2 grâce aux alias et aux conditions c1 > 0 OR c2 > 0
Donc quand tu fais ta requête, tu tests simplement si
if (mysql_fetch_assoc(mysql_query($requete)))
pour savoir s'il existe un résultat ou pas dans au moins une table.
-

Djoule_logo - WRInaute passionné

- Messages: 712
- Inscription: Mer Mai 30, 2007 0:21
Nickel, ça a l'air d'etre exactement ce dont j'ai besoin
Donc en gros si je veux verifier la presence d'une variable, j'aurai c1=$ma_variable OR c2=$ma_variable ?
Donc en gros si je veux verifier la presence d'une variable, j'aurai c1=$ma_variable OR c2=$ma_variable ?
Eu non, moi j'ai compris ta question comme, existe-t-il une donnée (n'importe laquelle, j'ai compris un tuple) dans au moins une de mes tables ^^
Ça serait pour rechercher quoi ?
Surement un truc du genre:
Ça serait pour rechercher quoi ?
Surement un truc du genre:
- Code: Tout sélectionner
select "found"
from (select count(*) as c1 from table1 where monchamp = $mavar) as t1,(select count(*) as c2 from test2 monchamp = $mavar) as t2
WHERE c1 > 0 OR c2 > 0
-

Djoule_logo - WRInaute passionné

- Messages: 712
- Inscription: Mer Mai 30, 2007 0:21
Ok, du coup ça me semble plus clair
En fait je cherche à verifier l'existance de ma variable dans mes tables qui me génerent mes pages.
Pour l'instant si je passe dans l'url une variable non presente dans ma base, ça me genère tout de même une page, mais avec un grosse erreur php au milieu. Cette verif me permettrai de faire une petite 301 si la page demandé n'est pas "valide"
En fait je cherche à verifier l'existance de ma variable dans mes tables qui me génerent mes pages.
Pour l'instant si je passe dans l'url une variable non presente dans ma base, ça me genère tout de même une page, mais avec un grosse erreur php au milieu. Cette verif me permettrai de faire une petite 301 si la page demandé n'est pas "valide"
-

Djoule_logo - WRInaute passionné

- Messages: 712
- Inscription: Mer Mai 30, 2007 0:21
Non justement ce ne sont pas des "id", mais mes bases ne sont pas lourdes (quelques centaines d'entrées au grand max). Je teste dans phpmyadmin pour voir le temps d'exe
EDIT
apres test :
Affichage des enregistrements 0 - 0 (1 total, traitement: 0.0037 sec.)
ça va, c'est pas trop long
EDIT
apres test :
Affichage des enregistrements 0 - 0 (1 total, traitement: 0.0037 sec.)
ça va, c'est pas trop long
-

Djoule_logo - WRInaute passionné

- Messages: 712
- Inscription: Mer Mai 30, 2007 0:21
Merci à toi pour ton aide.
-

Djoule_logo - WRInaute passionné

- Messages: 712
- Inscription: Mer Mai 30, 2007 0:21
Je viens de mettre le script en place, ça fonctionne a merveille.
Par contre une question annexe. Si la page demandée n'existe pas, il vaut mieux une 301 vers la home, ou une 302 vers une page explicative ?
Par contre une question annexe. Si la page demandée n'existe pas, il vaut mieux une 301 vers la home, ou une 302 vers une page explicative ?
Djoule_logo a écrit:Si la page demandée n'existe pas, il vaut mieux une 301 vers la home, ou une 302 vers une page explicative ?
Je mettrais plutôt une 404 personnalisée (après tout, ça sert justement à ça), avec éventuellement une redirection "html" au bout de 30 secondes vers la home.
16 messages • Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Open Federation : Google Talk joue la carte de l'interopérabilité avec XMPP
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- Et si Microsoft achetait Google ?
- Windows Live Search : son directeur Christopher Payne quitte Microsoft
- Baidu, le Google chinois
- Comment créer un compte Webmaster Tools sur Google
- Google IPO : une entrée en bourse originale
- verifier présence d'un BL
- 21 000 pages a verifier presence google
- Vérifier la présence d'une adresse email dans un formulaire
- gestion tables sql
- Requete SQL sur 2 tables
- SQL Requête dans plusieurs tables
- Passer deux tables SQL en une
- Tables SQL disparues chez OVH
- Grouper les tables SQL comme Freeglobes
- Passage de tables sql en flux xml locatif ?
- Problème avec requête SQL multiple (3 tables) et comptage
- Requête SQL pour connexion entre 3 tables liées..
- Requete de classement SQL sur trois tables avec SUM, COUNT..
- Outil SQL pour export de tables sur des bases différentes
Consultez la description détaillée des produits ou services de Google suivants : Google Images, Google Feed Fetcher
- Générateur de mots-clés
Cet outil vous fournit une liste de mots sémantiquement proches du mot que vous fournissez en entrée. Il peut servir à vous donner des idées de mots à utiliser sur vos pages, voire de contenus à ajouter. - Voir la classe C de plusieurs sites
Cet outil vous permet de vérifier si plusieurs sites sont hébergés sur la même classe C (adresse IP du serveur). - Analyse du positionnement dans Google
Cet outil vous permet de vérifier si une ou plusieurs page(s) de votre site arrive(nt) dans les premiers résultats de Google, pour certains mots-clés recherchés. - Analyse du positionnement dans Yahoo
Cet outil vous permet de vérifier si une ou plusieurs page(s) de votre site arrive(nt) dans les premiers résultats de Yahoo, pour certains mots-clés recherchés.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

le forum