Datenbankabfrage oscommerce

lightmetal

hate.love
Registriert
27. Dezember 2003
Reaktionspunkte
0
Ort
Dresden
Heyho,

Da ich hier schon öfter 1A Hilfe erlangt habe stelle ich meine Frage wieder einmal hier.

Ich möchte in der Datenbank eines oscommerce Shops alle Kunden anzeigen die ein bestimmtes Produkt bestellt haben.

Mit meinen Mitteln ist es mir nur möglich durch die Product_id die Order_Id zu finden und mit dieser dann via Adminoberfläche jede Bestellung einzeln aufzurufen. Bei knapp 200 Bestellungen auf die das zutrifft artet das aber in unnötige Arbeit aus die vorallem aber öfter wiederholt werden müsste.

Ich brauche also vermutlichen einen etwas komplexeren Datenbankbefehl oder gar ein Programm um mein Ziel zeitsparend zu erreichen.

Grüße

a.
 
Na da hast du ja bereits die halbe Miete drin.

Du schaust zuerst nach in welchen Ordern deinePriduct ID vorkommt und bei den Treffern suchst du danach zu welchen Kunden die jeweiligen Bestellungen gehören. :-)

Grüße
Joachim
 
Genau da komm ich mit meinen Schul-Sql-Kenntnissen nicht weiter.

Ich habe alle Bestellungen aufgelistet und müsste ja nun zu dieser Liste sämtliche personenrelevanten Daten ausgeben - mindestens jedoch Name, Vorname und Bestelldatum.

Und da komm ich nicht weiter - zu blöd. :D
 

Anhänge

  • Unbenannt-2.jpg
    Unbenannt-2.jpg
    62,8 KB · Aufrufe: 32
ganz einfach :D
da brauchst nen (natural) join

select name, vorname , bestellnummer , bestelldatum from Bestellungen , Kunden

where Bestellung.v.Kunde (hast du nicht so eine spalte wie Produkt wurde von Kundennummer XYZ bestellt ) = KundenNummer;

mir fehlt in deiner tabelle eine spalte wo die Bestellung dem Kunden zugeordnet wird.
ist das über ne dritte tabelle realisiert ?
 
du hast eine tabelle wbs_orders . da stehen dann die kundendaten drin. order_id ist der primärschlüssel der wbs_orders. deine zweite tabelle verwendet den als fremdschlüssel ?

dann

select name, vorname, was_auch_immer, produktname, bestelldatum
from wbs_orders , oben_geziegte_tabelle
where
wbs_order_id = oben_geziegte_tabelle.order_id ;
 
Bei mir scheitert es ja schon an der Syntax, hat die irgendwann mal jemand geändert in der Zeit wo ich arbeiten war nach der Schule?

Code:
select `costumers_name`.`customers_email_address`.`date_purchased` from `wbs1_orders` where products_id = '5301'

Irgendwas vergess ich auch... bin froh das ich sowas sonst nie machen muss.
 
also ich kenne das trennen eigentlich mit komma zwischen den einzelnen einheiten , nicht mit punkt.
die hochkommas kann man auch weglassen glaub ich . bis auf bei dem zahlenvergleich , da brauchst sie aber auch nicht immer.
lernst schon wieder :D
 
Dann eben so

select `costumers_name`,`customers_email_address`,`date_purchased` from `wbs1_orders` where products_id = '5301'

Gefällt mir schon besser außer eben #1054 - Unknown column 'costumers_name' in 'field list'


:D hahaha, so ein Driss. Ist ja auch klar irgendwie fehlt mir noch die Verbindung zu der anderen Tabelle.
 
Ich bleib dabei, ich bin zu blöd dafür. Gut das ich sowas sonst nie machen muss.

Ich bin nun mit Lektüre soweit gekommen das ich vermute irgendwie die Verknüpfung in Klammern auszudrücken.

Aus products_id brauch ich die Product ID. Das kann ich schonmal mit Schulwissen.


SELECT * FROM `wbs1_orders_products` WHERE `products_id`= '5301'


Damit habe ich die orders_id die mir unter anderem customers_name date_purchased und customers_email_address aus wbs1_orders ausgibt.

Auf dem manuellem Weg könnte ich das nun mehere hundert mal machen und von Hand kopieren, oder mir nun mit dem korrekten Befehl alles anzeigen und einfach exportieren. Genau da scheitert es ja eben.

Das stell ich mir ja nun so vor... aber falsch ist es immer noch weil ich sowas einfach nicht verstehe, leider.


select * from wbs1_orders where `products_id`='5301' IN (select * from wbs1_order_products `costumers_name` `customers_email_address` `date_purchased`)

Macht eben auch nicht viel Sinn für wenn ich darüber nachdenke... habe mich nun hieran orientiert: http://sql.1keydata.com/de/sql-unterabfrage.php
 
Zurück