Jump to content

Requête SQl


Recommended Posts

Bonsoir,

SELECT COUNT( * )
FROM `ps_orders` AS o
LEFT JOIN `ps_customer` AS c ON ( c.`id_customer` = o.`id_customer` )
WHERE TIMESTAMP( o.`date_add` )
BETWEEN '2010-09-01 15:20:52' AND '2010-11-01 15:20:52'
AND o.`id_customer` =1;



avec :

BETWEEN 'AAAA-MM-JJ HH:MM:SS' AND 'AAAA-MM-JJ HH:MM:SS'



et

AND o.`id_customer` = X


où l'id du client est à spécifier si vous le connaissez.
Sinon vous pouvez faire plusieurs variantes avec l'email par exemple :

SELECT COUNT( * )
FROM `ps_orders` AS o
LEFT JOIN `ps_customer` AS c ON ( c.`id_customer` = o.`id_customer` )
WHERE TIMESTAMP( o.`date_add` )
BETWEEN '2010-09-01 15:20:52' AND '2010-11-01 15:20:52'
AND c.`email` = '[email protected]';


ou par le nom et prénom :

SELECT COUNT( * )
FROM `ps_orders` AS o
LEFT JOIN `ps_customer` AS c ON ( c.`id_customer` = o.`id_customer` )
WHERE TIMESTAMP( o.`date_add` )
BETWEEN '2010-09-01 15:20:52' AND '2010-11-01 15:20:52'
AND c.`lastname` = 'nom'
AND c.`firstname` = 'prénom';



Bien cordialement

Link to comment
Share on other sites

  • 1 month later...

Bonjour,

Désolé pour le temps de réponse, je m'y remets juste.
C'est parfait merci.

J'abuse avec autre chose ^^

Je souhaiterais avoir l'ensemble des produits vendus sur une période donnée groupés par produit.
Du genre :

Ref ------ Nom ----- Quantite
13 huile 123
878 soja 78
-------------------------------

Merci de votre aide

Link to comment
Share on other sites

Bonjour,

Désolé pour le temps de réponse, je m'y remets juste.
C'est parfait merci.

J'abuse avec autre chose ^^

Je souhaiterais avoir l'ensemble des produits vendus sur une période donnée groupés par produit.
Du genre :

Ref ------ Nom ----- Quantite
13 huile 123
878 soja 78
-------------------------------

Merci de votre aide


Bonjour,

C'est vraiment parceque c'est vous ;)

SELECT 
   od.`product_id` As `Ref`,
   od.`product_name` As `Nom`,
   SUM(od.`product_quantity`) As `Quantite_totale`
FROM `ps_order_detail` AS od
LEFT JOIN `ps_orders` AS o
   ON (o.`id_order` = od.`id_order`)
WHERE TIMESTAMP( o.`date_add` )
   BETWEEN '2010-09-01 15:20:52' AND '2010-11-01 15:20:52'
GROUP BY od.`product_id`;



Bien cordialement

Link to comment
Share on other sites

Heu,

Il n'y a aucunes relations entre les tables :P Les mises en relations sont des méthodes conceptuelles SGBD pour des applications bien précises.
Sur une utilisation web, c'est pas très adapté et même inutile.

Il suffit de parcourir l'ensemble dans tables/champs, et de s'imprégner de la logique de la structure. C'est pas très compliqué.

Bien cordialement

Link to comment
Share on other sites

Pas de relation entre les tables ?!? ^^
Heu je suis pas sur de comprendre là ... Mais oui en effet le plus "simple" est sans doute
de se taper les tables pour saisir la structure, mais une vue d'ensemble aurais été pratique...
Merci en tout cas de votre aide.

Link to comment
Share on other sites

Attention aux termes,

Les relations entre les tables n'ont rien à voir avec un affichage conceptuel. Ce que vous cherchez c'est plutôt un affichage unique pour voir l'ensemble de vos tables.

La mise en relation des tables, c'est tout autre chose. Il s'agit de créer des liaisons entre les champs/tables. Et ceci n'est pas vraiment conseillé dans le cas d'une utilisation en développement web.

Le visuel que vous cherchez, vous pourrez le trouver sur PhpMyAdmin par exemple. Il existe un onglet "Concepteur" qui vous permet de déployer toutes vos tables pour en afficher les champs/types/attributs et éventuellement les relations.

Accrochez-vous pour PrestaShop, il y a environ 150 tables à afficher.

Bien cordialement

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...