SQL Abfrage der Tabellen

Hallo ich bin neu hier aber ich lese schon einige Zeit mit…
Ich fange gerade an PHP und SQL zu lernen und möchte die Tabellen auszulesen. Habe gerade dieses Konstrukt siehe unten geschrieben. Jetzt möchte ich aber nicht alles haben, sondern nur die wichtigsten Spalten zum Beispiel Preise, Titel usw. Wie kann ich das besser machen?

SELECT *
FROM oxobject2category
LEFT JOIN (
oxarticles, oxcategories
) ON ( oxarticles.oxid = oxobject2category.oxobjectid )
WHERE (
oxcategories.oxid = oxobject2category.oxcatnid)

Grüße

Hallo,

da Du ja beides offensichtlich neu erlernst, gleich ein grundsätzlich gut gemeinter Rat.

Bei SQL Statements ist

SELECT *

meistens die schlechteste Wahl. Denn damit gibst Du alles aus.

Wenn Du wie von Dir gewünscht, richtigerweise nur die Felder die du benötigst ausgeben willst, gibst du anstatt *, einfach die Felder an, die Du ausgeben willst und trennst Sie jeweils mit einem Komma.

Hallo

Danke für die schnelle Hilfe, werde es gleich mal testen.

Grüße

Hallo

Ich habe jetzt mein allererstes Programm überhaupt fast fertig. Ein Problem hat aber mein Daten Export noch! Ich habe jetzt drei Spalten in einer CSV Datei gespeichert. Das sieht jetzt so aus: oxcategories.oxparentid, oxcategories.oxtitle, oxcategories.oxid. ich schreibe mal (A), (B), © So wie ich es verstanden habe, ergibt sich folgende Beziehung A=C und B = C. Mit Excel ist es einfach zu lösen aber ich hätte das gern in meinem Export, wie kann ich die Datei auf diese Bedingungen prüfen und A und C ändern mit PHP?

Grüße

Ich würde Dir gerne helfen, aber ich verstehe die Frage nicht wirklich.

Hallo rubbercut

(Spalte C Zeile 1 suchen in Spalte A) aus Spalte B Zeile 1 gefundene Werte in C und A ersetzen,
das alles mit PHP, wobei die Daten in einer CSV Datei exportiert sind. Es müssen die Daten in der CSV Datei nach der Regel von oben geändert werden.

So stehen die Daten in meiner CSV Datei SQL:

SELECT DISTINCT
oxcategories.oxparentid AS VaterID,
oxcategories.oxtitle AS Kategorie,
oxcategories.oxid AS KinderID FROM oxobject2category LEFT JOIN (oxarticles, oxartextends, oxcategories) ON (oxarticles.oxid = oxobject2category.oxobjectid) and (oxartextends.oxid = oxobject2category.oxobjectid) WHERE (oxcategories.oxid = oxobject2category.oxcatnid)

Ist es für dein Vorhaben wirklich nötig, eine bereits exportierte CSV nachträglich per PHP zu bearbeiten, oder wäre es auch eine Alternative, die Daten bereits per SQL Statement richtig auf zu bereiten und dann fertig als CSV zu exportieren?

Hallo novalgin

Das wäre noch besser, da ich dann in mein Programm ja nichts mehr ändern müsste :slight_smile:

Grüße

Irgendwie dachte ich mir das schon:D

Da ich es auch noch nicht wirklich verstanden habe, versuch doch mal zu erklären was Du vorhast und welche Daten du wie aufbereitet brauchst.

Hallo

Ich habe gerade angefangen PHP und SQL in einer Schulung zu lernen. Da ich selbst seit kurzem einem Oxid Shop aufgebaut habe, der leider noch kein Geld bringt, kann ich mir auch im Moment keine Module kaufen. Was lag also näher als an einem Projekt PHP usw. zu lernen und gleichzeitig noch eigene Probleme zu lösen. Ich möchte ein Export Skript bauen, später auch mit Import und Anbindung. Zurzeit exportiert er alles in eine Datei (Artikel NR, Preise usw.) nur die Unterkategorien sind eben noch nicht in Klartext zugeordnet. Ich möchte alles Exportieren was wichtig ist um zum Beispiel diese CSV für Preisvergleiche zu nehmen. Das kann ich zwar auch jetzt schon, aber ich möchte keine Nacharbeit per Excel. Ich brauche also nur die richtigen QSL um diese drei Spalten richtig anzuzeigen.
Auch eine Lösung per PHP wäre gut, da ich so auch lerne wie man so was macht.

P.s

Aufbearbeitet so, das in allen drei Spalten keine Zahlen mehr sind. Hauptkategorie Kategorie und Underkategorie als Text wie eine übliche CSV Datei von zum Beispiel Affilinet

Grüße

VErstehe ich das richtig, das Du aus deiner obigen Abfrage nur bestimmte Spalten haben möchtest?

Müsste dieses Konstrukt dir nicht helfen?

UPDATE SpalteC,SpalteA
SET SpalteC =
(
Deine Abfrage
),
SpalteA =
(
Deine Abfrage
)

Ich mein so in etwa solltest Du Abfragen Updates kombinieren können.