Derniers journaux de spada :
- [13/01@15:37] Baisse des prix de Nerim
- [13/01@11:11] Paypal sucks
- [11/01@00:21] LEN : entre délire et réalité
- [06/01@21:51] Mozilla n'imprime que des carrés vides
- [06/01@08:24] OpenOffice.org régionalisé français (Debian)
- [04/01@16:56] Packard Bell Easy One Silver 2101 DVD : compatible Linux
- [29/12@02:18] Ravi par bogofilter
- [26/12@15:13] Evolution de Mozilla et autres stats...
- [16/12@15:58] Firebird en GTK/GTK2
- [12/12@11:48] Php et analyse d'un script
Journal : Requete MySQL sur questionnaire modulable + rapport/signal bruit adsl
Posté par Dario Spagnolo (page perso, ) le 24 janvier 2004Un journal, deux questions qui n'ont rien à voir :
MySQL
====
Dans le cadre de mon serveur d'hébergement j'ai codé un système de questionnaire modulable, c'est à dire qu'au lieu d'avoir les questions representées par les champs d'une table et les réponses par des lignes de cette meme table, j'ai décidé de mettre les questions dans une table et les réponses dans une autre. Ainsi, je peux ajouter/enlever des questions sans toucher au scripts (php) ni à la structure des tables.
Je me retrouve avec la table des réponses qui a une gueule plus ou moins comme ça (je m'excuse par avance pour le formatage foireux!):
SITE QUESTION REPONSE
site1.zaup.org 1 0
site1.zaup.org 2 1
site1.zaup.org 3 1
site1.zaup.org 4 0
site1.zaup.org 5 1
site2.zaup.org 1 1
site2.zaup.org 2 1
site2.zaup.org 3 1
site2.zaup.org 4 0
site2.zaup.org 5 0
site3.zaup.org 1 0
site3.zaup.org 2 1
site3.zaup.org 3 0
site3.zaup.org 4 0
site3.zaup.org 5 0
Je voudrais maintenant effectuer des requetes booléennes comme par exemple :
tous les sites avec question 1 = 0 ET question 3 = 1
(réponse : seulement site1)
On aurait tout naturellement envie d'écrire ça :
select site from table where (question = 1 AND reponse = 0) AND (question = 3 AND reponse = 1)
mais il va de soi que ça ne marche pas !
Des gurus dans la salle ?
Rapport signal/bruit ADSL
================
Intro : j'ai une carte Bewan PCI ST et un abonnenemnt 512/128 chez Nerim
unicorn_status me dit que :
linserv:/# unicorn_status
Modem State : SHOWTIME_L0
Remote Report : Showtime
Last Failure :
Time Connected : 02:11:05
Modulation : ANSI
Rate Us/Ds (Kbps) : 160 608
Cap. Occupation Us/Ds (%) : 23 88
Noise Margin Us/Ds (dB) : 31 7
Attenuation Us/Ds (dB) : 31 52
Output Power Us/Ds (dBm) : 12 15
FEC Errors Us/Ds : 21 2
CRC Errors Us/Ds : 16 6
HEC Errors Us/Ds : 9 9
Driver Version : 0.7.4
Firmware Version : PCI_1.9.6.1
Est-ce que c'est bien ou c'est mal ? Une comparaison ?
> Lire le journal (10 commentaires, moyenne: 1,5).
Re: Requete MySQL sur questionnaire modulable + rapport/signal bruit adsl
Si ta table contient trois champs ta requête select doit mentionner les champs que tu vas utiliser.
SELECT * FROM TABLE
SELECT SITE,QUESTION,REPONSE FROM TABLE
--
-
[^]Re: Requete MySQL sur questionnaire modulable + rapport/signal bruit adsl
Posté par Dario Spagnolo (page perso, ) le 24/01/2004 à 17:52. (lien). Évalué à 1.Oui mais si je m'en fous des champs question et reponse ?
Mais bon, là n'est pas le problème il me semble, si ?--
Voici donc comment meurt la liberté, sous un tonnerre d'applaudissements...
-
[^]Re: Requete MySQL sur questionnaire modulable + rapport/signal bruit adsl
Posté par Maxime Petazzoni (page perso, ) le 24/01/2004 à 18:37. (lien). Évalué à 1.si tu ne prends qu'une seule colone :
select distinct site from table where <WHERE_CONDITION>
Re: Requete MySQL sur questionnaire modulable + rapport/signal bruit adsl
Je ne suis pas sûr d'avoir bien compris ton problème mais la réponse qui me vient à l'esprit est de faire un UNION :
select site from table where question = 1 AND reponse = 0
UNION
select site from table where question = 3 AND reponse = 1
Par contre, je ne sais pas si les nouvelles versions de mysql l'implémentent.
-
[^]Re: Requete MySQL sur questionnaire modulable + rapport/signal bruit adsl
Re: Requete MySQL sur questionnaire modulable
Bon ben ne sais pas trop si ca va t'aider mais j'arrive au bon resultat avec ça dans postgresql (pas teste dans mysql mais a priori mysql connait aussi les jointures ou alors ça peut t'inspirer).
test=# select a.site from table a left outer join table b on a.site = b.site where (a.question ='3' and a.reponse ='1') AND (b.question ='1' and b.reponse ='0') group by a.site ;
site
----------------
site1.zaup.org
(1 ligne)
Veux bien aussi qu'un guru qui passerais par la donne son avis, je sais pas si c'est tres propre de faire des jointures sur la meme table.... m'enfin ca a l'air de fonctionner
mes 2 cts
Re: Requete MySQL sur questionnaire modulable + rapport/signal bruit adsl
Pour le SQL, en effet, ça ne peut pas marcher ! Par contre, cela fonctionnerait très bien avec un OR central. Le problème vient du fait que ce qui t'intérresse, ce n'est pas seulement les lignes qui correspondent à un certain critère, mais le fait qu'il y ait PLUSIEURS de ces lignes, sur des critères différents. Il faut donc interroger deux fois la table, et interpoler les résultats. Donc, en une requête:
SELECT DISTINCT a.site FROM TABLE a, TABLE b
WHERE a.site = b.site
AND a.question = 1
AND a.reponse = 0
AND b.question = 3
AND b.question = 0
Et cela devrait fonctionner. Note qu'en temps normal il vaut mieux utiliser JOIN qu'un produit cartésien (selection de plusieurs tables séparées par des virgules), mais dans le cas présent il ne s'agit pas d'une réelle jointure, en tout cas d'une table dépendante d'une autre ...
Re: Requete MySQL sur questionnaire modulable + rapport/signal bruit adsl
7 db de rapport signal/bruit sur la partie descendante c'est beaucoup. Il faudrait avoir au moins 10 db pour que la ligne ne génère plus d'erreur à cette vitesse de synchro.
Tu as pas mal d'atténuation aussi.
Dans l'état actuel de ta ligne, tu ne pourras pas avoir du 1024 kbit/s car avec une synchro à 608 kbit/s tu es à 88 % de ce que permet ta ligne.
Bref vérifie tes prises, tes câblages, les éventuelles rallonges, les filtres. Vérifie ausi que tu n'as pas de conensateurs dans tes prises (ceux qui sont un peu vieux ou mal branchés peuvent générer pas mal de parasites ; tu peux enlever ces condos sans problème). Il faut aussi que ta ligne ne soit pas proche d'une source de bruit, telle qu'un moteur, un équipement HF ou que sais-je...
-
[^]Re: Requete MySQL sur questionnaire modulable + rapport/signal bruit adsl
Posté par Dario Spagnolo (page perso, ) le 25/01/2004 à 10:17. (lien). Évalué à 2.Merci beaucoup pour ces informations. Heureusement je n'ai aucune intention de passer au 1024 vu les prix de Nerim...
Je me posais la question de la qualité du signal parce que justement j'avais revu assez radicalement la configuration des lignes téléphoniques chez moi et maintenant c'est bcp plus propre : le filtre adsl est branché sur un bout de cable posé par FT qui est juste à l'entrée de mon habitation, et le serveur est à 50 cm. Donc je pense que mon installation n'est pas en cause, c'est plutot ma distance de la centrale (je ne suis pas en centre ville).
Merci en tout cas.--
Voici donc comment meurt la liberté, sous un tonnerre d'applaudissements...
Connexion adsl
Sachant que l'attenuation max pour etre eligible adsl c'est 60dB c'est moyen en Download. Mais bon t'a l'adsl je pense que c'est lessentiel ;)
a+

Les journaux sont destinés à des informations qui ne sont pas suffisamment intéressantes
pour être validées en dépêche (sinon n'hésitez pas à proposer votre information en
dépêche), qui sont sans rapport avec Linux ou le libre, ou simplement pour donner votre
avis. Si vous désirez poser une question, merci d'utiliser 

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.