Ga naar inhoud

keijers

Lid
  • Items

    28
  • Registratiedatum

  • Laatst bezocht

Berichten die geplaatst zijn door keijers

  1. ik denk dat ik het niet duidelijker kan krijgen, ik bekijk nu gewoon het aantal producten in 1 rij en de totale omzet in de andere rij. Het liefst had ik dat in 1 output maar heel erg is het niet ;-).

    De sql wordt door opencart webshop uitgevoerd en volgens mij zit daar ook nog een extra scriptje achter die alle rijen output, dus het wordt wel erg ingewikkeld inderdaad.

    In ieder geval bedankt voor je hulp!

  2. Die distinct staat erbij omdat uit de tabel order_products er meerdere producten zijn bij 1 ordernummer. Dus het ordernummer komt daar vaker voor, en dat wordt geteld vanuit die tabel door de inner join...

    Nog een keer voor de duidelijkheid:

    Ik wil COUNT(distinct order.order_id) AS containers uit de 2e query de COUNT(distinct order.order_id) AS containers uit de 1e query overschrijven,

    of gewoon de 1e query en dan dat hij op basis van die selectie een 2e query uitvoert die het aantal producten telt... maar dat gaat over een andere boeg volgens mij...

  3. ik heb nu dit:

    SELECT MIN(date_added) AS date_start, MAX(date_added) AS date_end, COUNT(*) AS orders, COUNT(distinct order.order_id) AS containers, SUM(total) AS total FROM `order` WHERE order.order_status_id > '0' AND (DATE(date_added) >= '2012-08-24' AND DATE(date_added) <= '2012-08-31') GROUP BY WEEK(date_added, 1) LIMIT 0,20

    UNION SELECT MIN(order.date_added) AS date_start, MAX(order.date_added) AS date_end, COUNT(order.order_id) AS orders, COUNT(distinct order.order_id) AS containers, SUM( order.total) AS total FROM `order` INNER JOIN `order_product` ON order_product.order_id = order.order_id WHERE order.order_status_id > '0' AND (DATE(date_added) >= '2012-08-24' AND DATE(date_added) <= '2012-08-31') GROUP BY WEEK(date_added, 1) LIMIT 0,20

    Het enige verschil is dus dat bij orders DISTINCT staat,

    Wat hij me nu als output geeft is het volgende, het enige probleem is nu dat hij week 35 er 2 keer neerzet en de totaalprijs van €2.632,00 moet €2.200,50 zijn:

    [TABLE=class: list]

    [TR]

    [TD]Startdatum

    [/TD]

    [TD=class: left]Einddatum

    [/TD]

    [TD=class: right]Aantal bestellingen

    [/TD]

    [TD=class: right]Totaal

    [/TD]

    [/TR]

    [TR]

    [TD=class: left][/TD]

    [TD=class: left][/TD]

    [TD=class: right][/TD]

    [TD=class: right][/TD]

    [/TR]

    [TR]

    [TD=class: left]Week: 35 27-08-2012

    [/TD]

    [TD=class: left]30-08-2012

    [/TD]

    [TD=class: right]11 producten 11 bestellingen

    [/TD]

    [TD=class: right]€2.200,50

    [/TD]

    [/TR]

    [TR]

    [TD=class: left]Week: 35 27-08-2012

    [/TD]

    [TD=class: left]30-08-2012

    [/TD]

    [TD=class: right]12 producten 11 bestellingen

    [/TD]

    [TD=class: right]€2.632,00

    [/TD]

    [/TR]

    [/TABLE]

    Eigenlijk wil ik dit als output:

    [TABLE=class: list]

    [TR]

    [TD]Week: 35 27-08-2012

    [/TD]

    [TD=class: left]30-08-2012

    [/TD]

    [TD=class: right]12 producten 11 bestellingen

    [/TD]

    [TD=class: right]€2.200,50

    [/TD]

    [/TR]

    [/TABLE]

    Ik heb al in de query de AS containers AS orders e.d. aangepast naar bijv AS containers2 AS orders2 maar hetzelfde resultaat, steeds 2 rijen die er eigenlijk 1 moeten zijn met de fout info er in...

  4. Ben ik weer ;)

    Ik heb hetvolgende:

    Deze query laat me een overzicht zien van aantal bestellingen + omzet in een bepaalde periode:

    SELECT MIN(date_added) AS date_start, MAX(date_added) AS date_end, COUNT(*) AS orders, SUM(total) AS total FROM `" . DB_PREFIX . "order`

    In een andere tabel, genaamd 'order_product' staat het aantal bestelde producten van de orders. Nu wil ik in het overzicht van het aantal bestellingen + omzet het aantal producten tonen.

    Ik krijg het aantal bestellingen + producten als ik de volgende query uitvoer, het enige probleem is dat dan de omzet niet meer klopt (hij neemt dan per product de totaalprijs, bij een orderprijs van 10 euro voor 3 producten telt hij dan 30 euro)

    SELECT MIN(order.date_added) AS date_start, MAX(order.date_added) AS date_end, COUNT(order.order_id) AS orders, COUNT(distinct order.order_id) AS containers, SUM( order.total) AS total FROM `" . DB_PREFIX . "order`

    INNER JOIN `order_product` ON order_product.order_id = order.order_id

    Wat ik dus eigenlijk wil bereiken is een combinatie van deze 2 query's, waar in query 2 het alleen draait om het aantal producten.

    Hoe kan ik 2 select query's in 1 query zetten? Of is dit met een ander soort join op te lossen? Ik heb al distinct erin gegooid maar dat werkt uiteraard niet voor de prijskolom...

  5. Ik heb het al gevonden, bleek niet zo heel moeilijk te zijn:

    mysql_query("SELECT WEEK(`updated_at`, 1) AS week, YEAR(`updated_at`) AS jaar, COUNT(`id`) as id, SUM(`price_total`) as totaal FROM cart WHERE order_status = 'completed (payed)' or order_status = 'completed (not payed)' GROUP BY week ORDER BY jaar DESC, week DESC" );

    Is handig voor anderen die op zoek zijn ;-).

    De 1 achter WEEK() is dat de week op maandag begint!

  6. Ik zou graag mijn orders van mijn webshop snel in een overzichtje willen hebben die per week (van maandag tot en met zondag) een overzicht geeft van het totaal aantal orders + omzet.

    Ik heb nu deze query die me een overzicht geeft:

    mysql_query("SELECT * FROM cart WHERE order_status = 'completed (not payed)' or order_status = 'completed (payed)' ");

    De kolom updated_at geeft de datum van de order (bv: 2012-08-28 14:29:38)

    De kolom price_total geeft de totaalprijs van de order.

    Wie kan me dat toevoegen in de query zodat ik zoiets als dit krijg als output:

    week 34:

    Orders: 12, omzet €2000,00

    week 33:

    Orders 10, omzet €8000,00

    Alvast bedankt voor wie me kan helpen!

  7. ik heb hem volgens mij eindelijk! Kijk en huiver:

    $result = mysql_query("SELECT * FROM `" . DB_PREFIX . "product_description`

    INNER JOIN product ON product.product_id=product_description.product_id

    INNER JOIN product_to_category ON product_to_category.product_id=product.product_id

    INNER JOIN category ON category.category_id=product_to_category.category_id

    WHERE product.status = 1 and category.customer_group = 6");

    Ik word er toch nog goed in ;)

  8. Ik heb zelf wat zitten prutsen en zo krijg ik eindelijk een output, maar ik weet niet hoe ik 2 inner joins moet maken met die code die volgens jou moet werken

    kun je deze aanpassen? :-):adore:

    $result = mysql_query("SELECT category_id FROM `" . DB_PREFIX . "product` INNER JOIN product_to_category ON product_to_category.product_id=product.product_id WHERE product.status = 1");

    while($row = mysql_fetch_array($result))

    {

    echo $row['category_id']."<BR>";

    }

  9. mysql_query(" . $result . ") or die (mysql_error()); als output.

    Ik heb even zitten neuzen in de broncode van andere pagina's waar een mysql query wordt uitgevoerd en daar zit nog een DB_prefix bij... zou het daar aan kunnen liggen dat die toegevoegd moet worden?

    Deze query is ook zonder ' of " aan het begin, dus volgens mij moet dat zonder gewoon werken!?

    $result = mysql_query("SELECT zone_id FROM `" . DB_PREFIX . "address`

  10. toch klopt er iets niet, ik wilde de output laten zien maar hij geeft me de sql query, volgens mij omdat er dus die "" omheen staan.

    Jouw code met print_r:

    $result = 'mysql_query("SELECT name FROM (product_description INNER JOIN product_id ON product_description.product_id=product_to_category.product_id WHERE category_id=1) INNER JOIN category ON product_description.product_id=category.product_id WHERE customer_group=6")';

    $result = "mysql_query(" . $result . ") or die (mysql_error());";

    print_r($result);

    geeft me letterlijk dit:

    mysql_query(mysql_query("SELECT name FROM (product_description INNER JOIN product_id ON product_description.product_id=product_to_category.product_id WHERE category_id=1) INNER JOIN category ON product_description.product_id=category.product_id WHERE customer_group=6")) or die (mysql_error());

  11. Ook die sql geeft dezelfde foutcode...

    Dit is mijn sql query in php:

    $result = mysql_query("SELECT Naam FROM Naam INNER JOIN orders ON Naam.ID=orders.Naam_ID");

    $result = mysql_query($result) or die(mysql_error());

    Foutmelding:

    Warning: mysql_query() expects parameter 1 to be string, resource given in /home/qvbdqhda/domains/containernederland.nl/public_html/catalog/view/theme/default/template/product/all.tpl on line 103

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.