wilmau Geschrieben 18. Februar 2005 Teilen Geschrieben 18. Februar 2005 Hallo! hab ne Frage! gibt es mit mysql Möglichkeiten im Sql-Command mit Parametern/Variablen zu arbeiten? wenn Ja: wie? Danke für jede Antwort! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reindeer Geschrieben 21. Februar 2005 Teilen Geschrieben 21. Februar 2005 Das ist so ziemlich immer möglich, egal wie Du SQL bedienst. Willst Du mit PHP arbeiten oder wie? Jedenfalls kannst Du den SQL-String zusammenbauen wie jeden anderen String auch. Beispiel in PHP: mysql_query("SELECT * FROM tabelle WHERE bedingung=$Variable", $sql_connection_id); Hilft Dir das? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
wilmau Geschrieben 21. Februar 2005 Autor Teilen Geschrieben 21. Februar 2005 Willst Du mit PHP arbeiten oder wie? ich arbeite mit der C# Entwicklungsumgebung und die datenbank ist MySql. Mein Problem ist, das ich einen 2 Seite langen Sql-String habe und da mehrmals nach dem selben gefiltert wird, da ich mit substrings arbeite, will ich die selbe Variable mehrmals im Sql-Command gebrauchen. Beispiel: ---------------- variable = "Hans" SELECT * FROM tabelle WHERE Feld1 = variable AND FELD2 = variable; ----------------- wenn es soetwas gibt, wie schreib ich das hin? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 21. Februar 2005 Teilen Geschrieben 21. Februar 2005 Also dein Problem ist weniger MySQL sondern eher die Syntax von C# oder? Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
wilmau Geschrieben 21. Februar 2005 Autor Teilen Geschrieben 21. Februar 2005 ne, eigendlich nicht. ich würde gerne wissen ob es eine möglichkeit gibt im Sql_Command eine Variable am anfang zu setzen und diese mehrfach im Command zu nutzen. hier mein sql_Command: An den Stellen wo du LIKE " ... " findest, will ich dahinter eine Variable haben, da ich den Wert nur einmal z.B am anfang setzen will. z.B.: Variable1 ist bestelldatum = "2005%" Variable2 ist status = "ib%"; -------------------------- SELECT auftraege.auftragsnr, auftraege.angebotsnr, auftraege.auftragstyp, auftraege.fk_anlagennr, auftraege.auftragsstatus, auftraege.kunde, auftraege.bestellnrkunde, auftraege.bestelldatum, auftraege.beschreibung, auftraege.produktbereich, auftraege.projektleiterintern, auftraege.verkaeufer, auftraege.techasp, auftraege.kaufmasp, auftraege.waehrung, auftraege.eingabedatum, auftraege.eingegebenvon, TempTable.Sollkosten_gesamt, TempTable.Istkosten_gesamt, TempTable.VkPreis_gesamt, sum(auftragspositionen.vkpreis) as Auftragswert, TempTable.Istkosten_Leistung, TempTable.Sollkosten_Leistung, TempTable.VkPreis_Leistung, TempTable.Istkosten_Material, TempTable.Sollkosten_Material, TempTable.VkPreis_Material, -- TempTable.Istkosten_Reise, TempTable.Sollkosten_Reise, TempTable.VkPreis_Reise FROM (SELECT auftraege.* FROM auftraege WHERE auftraege.bestelldatum LIKE "2005%" AND auftraege.auftragsstatus LIKE "%") As auftraege LEFT JOIN auftragspositionen ON auftraege.auftragsnr = auftragspositionen.fk_auftragsnr LEFT JOIN (SELECT auftraege.auftragsnr, sum(IFNULL(MaterialTable.Istkosten_Material,0) + IFNULL(LeistungsTable.Istkosten_Leistung,0)) as Istkosten_gesamt, SUM(IFNULL(ReiseTable.Sollkosten_Reise,0) + IFNULL(MaterialTable.Sollkosten_Material,0) + IFNULL(LeistungsTable.Sollkosten_Leistung,0)) As Sollkosten_gesamt, SUM(IFNULL(ReiseTable.VkPreis_Reise,0) + IFNULL(MaterialTable.VkPreis_Material,0) + IFNULL(LeistungsTable.VkPreis_Leistung,0)) As VkPreis_gesamt, LeistungsTable.Istkosten_Leistung, LeistungsTable.Sollkosten_Leistung, LeistungsTable.VkPreis_Leistung, MaterialTable.Istkosten_Material, MaterialTable.Sollkosten_Material, MaterialTable.VkPreis_Material, ReiseTable.Sollkosten_Reise, ReiseTable.VkPreis_Reise FROM auftraege, (SELECT auftraege.auftragsnr, Dienstleistungen.Sollkosten_Leistung As Sollkosten_Leistung, sum(dienstleistungserfassung.menge*dienstleistungserfassung.kostenproeinheit) as Istkosten_Leistung, Dienstleistungen.VkPreis_Leistung FROM auftraege LEFT JOIN dienstleistungserfassung ON auftraege.auftragsnr = dienstleistungserfassung.fk_auftragsnr LEFT JOIN (SELECT auftragspositionen.fk_auftragsnr, auftragspositionen.gepl_menge, auftragspositionen.gepl_einzelkosten, sum(auftragspositionen.gepl_menge*auftragspositionen.gepl_einzelkosten) as Sollkosten_Leistung, SUM(auftragspositionen.vkpreis) As VkPreis_Leistung FROM auftragspositionen WHERE auftragspositionen.leistungskategorie = "D" GROUP BY fk_auftragsnr) As Dienstleistungen ON auftraege.auftragsnr = Dienstleistungen.fk_auftragsnr WHERE auftraege.bestelldatum LIKE "2005%" AND auftraege.auftragsstatus LIKE "%" GROUP BY auftraege.auftragsnr) As LeistungsTable, (SELECT auftraege.auftragsnr, Materialkosten.Sollkosten_Material As Sollkosten_Material, sum(materialkostenerfassung.menge*materialkostenerfassung.ekpreis) as Istkosten_Material, Materialkosten.VkPreis_Material FROM auftraege LEFT JOIN materialkostenerfassung ON auftraege.auftragsnr = materialkostenerfassung.fk_auftragsnr LEFT JOIN (SELECT auftragspositionen.fk_auftragsnr, auftragspositionen.gepl_menge, auftragspositionen.gepl_einzelkosten, sum(auftragspositionen.gepl_menge*auftragspositionen.gepl_einzelkosten) as Sollkosten_Material, SUM(auftragspositionen.vkpreis) As VkPreis_Material FROM auftragspositionen WHERE auftragspositionen.leistungskategorie = "M" GROUP BY fk_auftragsnr) As Materialkosten ON auftraege.auftragsnr = Materialkosten.fk_auftragsnr WHERE auftraege.bestelldatum LIKE "2005%" AND auftraege.auftragsstatus LIKE "%" GROUP BY auftraege.auftragsnr) As MaterialTable, (SELECT auftraege.auftragsnr, Reisekosten.Sollkosten_Reise As Sollkosten_Reise, Reisekosten.VkPreis_Reise FROM auftraege LEFT JOIN (SELECT auftragspositionen.fk_auftragsnr, auftragspositionen.gepl_menge, auftragspositionen.gepl_einzelkosten, SUM(auftragspositionen.gepl_menge*auftragspositionen.gepl_einzelkosten) as Sollkosten_Reise, SUM(auftragspositionen.vkpreis) As VkPreis_Reise FROM auftragspositionen WHERE auftragspositionen.leistungskategorie = "R" GROUP BY fk_auftragsnr) As Reisekosten ON auftraege.auftragsnr = Reisekosten.fk_auftragsnr WHERE auftraege.bestelldatum LIKE "2005%" AND auftraege.auftragsstatus LIKE "%" GROUP BY auftraege.auftragsnr) As ReiseTable WHERE auftraege.auftragsnr = LeistungsTable.auftragsnr AND auftraege.auftragsnr = MaterialTable.auftragsnr AND auftraege.auftragsnr = ReiseTable.auftragsnr GROUP BY auftraege.auftragsnr) As TempTable ON auftraege.auftragsnr = TempTable.auftragsnr GROUP BY auftraege.auftragsnr ----------------------------------------------------------- Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 21. Februar 2005 Teilen Geschrieben 21. Februar 2005 Es ist doch eine C# Frage. Den Select führst Du doch innerhalb von C# aus. Du willst sowas machen: auftraege.bestelldatum LIKE "+bestelldatum+". Da ich aber kein C# kann weiss ich nicht die richtige Antwort bzw. ich habe da so spezielle Vermutungen wie es in anderen Sprachen gemacht wird. Lass den Beitrag doch mal ins C# Forum verschieben. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
wilmau Geschrieben 21. Februar 2005 Autor Teilen Geschrieben 21. Februar 2005 Es ist doch eine C# Frage. Lass den Beitrag doch mal ins C# Forum verschieben. Frank nun, ich wollte ja nur wissen wie dazu die Syntax in MySql ist, falls es überhaupt geht! aber ist ne gute Idee. Werde es im C#-Forum mal versuchen, vielleicht kann mir da weiter geholfen werden. Aber wie verschieb ich diesen Beitrag in's C# Forum? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 21. Februar 2005 Teilen Geschrieben 21. Februar 2005 Aber wie verschieb ich diesen Beitrag in's C# Forum? Das mach ich schon Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.