Sql - neue und gute Antworten

  • 0
    Zählen beliebiger Benutzerdaten aus Tabelle
    Antwort von myjack myjack

    Nein. Die Datenbank weiß ja nicht, ob "Sherlock Holmes" das gleiche ist wie "Sherlok Homes" (mal so als Beispiel).... Ich würde aber bereits eingegebene Filme als Vorschlag () zur Verfügung stellen. Damit kannst du diese Vielfalt evtl. eindämmen.

    Kommentar von Lustigo LustigoLustigo

    Wäre es aber nicht möglich wenn Sherlock Holmes und Sherlock Holmes eingegeben wurde zu erkennen , dass zwei mal Sherlock Holmes eingegeben wurde ?

    Kommentar von myjack myjackmyjack

    ja klar, das geht natürlich:

    SELECT COUNT(filmname) AS anzahl, filmname FROM `table` GROUP BY filmname
    
  • 0
    SQL-Syntax ist falsch, aber wo ist der Fehler?
    Antwort von OttoLorenz OttoLorenz

    from & to sind reservierte Wörter von mySQL. Du kannst sie aber trotzdem verwenden, indem du Backticks in deinen Querys verwendest.

    INSERT INTO messages(`from`,`to`,`message`) VALUES (...)
    

    Backticks sind keine ' sondern ` - zwei Tasten höher auf deiner Tastatur inkl Umschalt-Taste.

  • 0
    SQL Wildcard Aliase automatisch
    Antwort von Andre81HH Andre81HH

    Hallo,

    ich glaube ich verstehe die Frage leider nicht so ganz...

    Vielleicht hilft Dir dieser Ansatz weiter

    A) select table1.*, table2.name from Tabelle1 as table1 join Tabelle2 as table2 where (table1.table1id = table2.table1id)

    B) (statt "exists" geht auch "not exists") select * from Tabelle1 as table1 where ... and exists (select * Tabelle2 as table2 where (table1.table1id = table2.table1id) and ...)

    Variante B) ist sehr performancelastig, von daher sollte man bedacht damit umgehen. Würde ich die Fragestellung verstehen könnte ich evtl. auch konkretere Antworten geben.

    MfG André

  • 0
    SQL-Syntax ist falsch, aber wo ist der Fehler?
    Antwort von Scandle Scandle

    Sind die Felder from to nicht vom Typ Int? Wenn doch Versuchs mit VALUES(1, 2, 'test')

    Kommentar von dermetfan dermetfandermetfan

    Doch, es sind int-Felder. Diese Möglichkeit hab ich aber schon probiert (macht keinen Unterschied)... Und falls du es nicht gesehen hast, 14 Stunden vor dir kam schon die Lösung, aber danke trotzdem ^^

    Kommentar von Scandle ScandleScandle

    Hab von meinem Smartphone aus gepostet und nicht gesehen, dass es schon ne Lösung gibt ^^

    Aber FYI: Wenn du INT Values hast, dann gewöhn dir an die Anführungszeichen wegzulassen. Ist sauberer ;)

    Lg

  • 3
    SQL-Syntax ist falsch, aber wo ist der Fehler?
    Antwort von gkyFFM gkyFFM

    Schau nach, ob die Spaltennamen reservierte Wörter sind. "from" könnte so ein Kandidat sein.

    Kommentar von dermetfan dermetfandermetfan

    Tatsache! "from" und "id" sind beide reserviert. Einfach in "id _from" und "id _to" umbenannt und es klappt! Danke ^^

    Kommentar von dermetfan dermetfandermetfan

    sorry ich meinte "from" und "to" sind beide reserviert.

    Kommentar von ShitzOvran ShitzOvranShitzOvran

    was für einBblödsinn xD da mus man erst einmal drauf kommen :/

    haben wir wieder was gelernt :)

  • 0
    SQL-Syntax ist falsch, aber wo ist der Fehler?
    Antwort von ShitzOvran ShitzOvran

    hast es mal mit anführungszeichen oder ner leerstelle oder beidem versucht...

    INSERT INTO 'messages' ('from', 'to', 'message') VALUES ('2', '1', 'test2')

    Alternativ auch doppelte Anführungszeichen

    Kommentar von dermetfan dermetfandermetfan

    naja, ich hab schon tausende Möglichkeiten versucht... Aber danke. Dein Vorschlag liefert folgendes:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''messages' ('from', 'to', 'message') VALUES ('2', '1', 'test2')' at line 1

    Kommentar von ShitzOvran ShitzOvranShitzOvran

    vllt fehlt ja auch das Semikolon am ende

    Kommentar von dermetfan dermetfandermetfan

    Nein, das ist ja SQL, da braucht man kein Semikolon am Ende. Hat jedenfalls bei anderen Befehlen schon ohne geklappt... Ich habs trotzdem mal ausprobiert... wie gesagt das wars nich ^^ aber danke

    Kommentar von Scandle ScandleScandle

    Das ist so auch nicht richtig. Wenn du den Query über PHP absetzt, dann brauchst du kein Semikolon. Anders siehts aus wenn du mit der mysql console arbeitest ;)

  • 1
    SQL-Syntax ist falsch, aber wo ist der Fehler?
    Antwort von auto350910 auto350910

    Fehlermeldungen werden sowieso überbewertet.

    Kommentar von dermetfan dermetfandermetfan

    Tut mir leid, hab ich vergessen..

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from, to, message) VALUES('2', '1', 'test2')' at line 1

  • 0
    SQL Wildcard Aliase automatisch
    Antwort von kobs12073 kobs12073

    Hi, meines Wissens gibt es dafür in SQL nichts, aber ich mach das immer über ein Excel, und baue mir so (quick and dirty) die Scripts auf;

    lg m

  • 0
    SQL Tabelle erstellen
    Antwort von OptPintln OptPintln

    wenn es nur eine tabelle sein soll ...... reicht das voll und ganz aus ....... es sei den du willst sie noch normalisieren um redundante datensätze zu vermeiden ........ dann benötigst du mehr als nur eine tabelle und die nötigen foreign keys zu den einzelnen tabellen

    ..........................

    würde dir raten erst einmal(wenn es auch überflüssig klingt) eine mindmap deiner datenbank anzufertigen bevor du sie erzeugst. (die richtige planung vereinfacht dir später die erzeugung)

    .........................

    als kleinen tipp:

    http://www.w3schools.com/sql/default.asp

    oder

    mysql.de

  • 0
    SQL Tabelle erstellen
    Antwort von fabi777bb91 fabi777bb91

    ich empfehle dir "phpmyadmin" dort siehst du immer gute beschreibungen und so

  • 0
    My SQL, Einen Sachverhalt bejahen und einen verneinen
    Antwort von wotan38 wotan38

    Es darf nicht not subject heißen sondern <> subject . Im SQL wird statt eines Ungleichzeichens die Kombination aus < und > verwendet, also sowohl kleiner als auch größer, was gleichbedeutend ist mit ungleich.

  • 0
    C# Programmierer sucht Projekt
    Antwort von stevieray1191 stevieray1191

    Hast du Skype?

    Kommentar von omega90 omega90

    ja habe ich

  • 1
    SQL Hilfe Gruppierte Abfrage / Abiturübung
    Antwort von Sascha211 Sascha211
    SELECT Ort, Sum(Mietkosten)
    FROM Mieter
    GROUP BY Ort
    ORDER BY Ort ASC
    

    Es wird für jeden Ort eine Gruppe gebildet und innerhalb der Gruppe werden die Mieten zusammengezählt.

  • 0
    kann ein attribut gleichzeigtig primär- und fremdschlüssel sein?
    Antwort von wotan38 wotan38

    Das macht geht nicht, macht auch prinzipiell keinen Sinn, denn da müssten Daten mit sich selbst verglichen werden. Ein Fremdschlüssel legt fest, dass bestimmte Daten in einer Tabelle in einer anderen Tabelle vorkommen müssen.

    Kommentar von wotan38 wotan38wotan38

    Ich habe hier möglicherweise die Aufgabenstellung nicht in Deinem Sinn interpretiert, deshalb die anderslautenden Antworten an anderer Stelle.

  • 0
    Fremdschlüssel!!!!!!!!!!1111
    Antwort von wotan38 wotan38

    Den Fremdschlüssel muss man nicht benutzen, man kann. Man kann damit eine zusätzliche Integritätsüberprüfung einbauen, die von der Datenbank dann überwacht wird. Beispiel: Ich habe eine Mitgliedertabelle mit dem Primärschlüssel Mitglieds-Nr. Desweiteren eine Beitragstabelle mit den Zahlungen der Mitglieder. Die Verbindung zu den Mitgliedern erfolgt über die Mitglieds-Nr. Nun darf in der Beitragstabelle keine Mitglieds-Nr vorkommen, die es in der Mitgliedertabelle nicht gibt. Definiert man nun in der Beitragstabelle den Primärschlüssel der Mitgliedstabelle als Fremdschlüssel, so wird die Integrität von der Datenbank überwacht. Dabei gibt es drei Arten von Definitionsmöglichkeiten, die letztlich nur festlegen, was im Falle eines Verstoßes passieren soll. Die Klausel delete restrict weist jeden Auftrag mit einem SQL-Fehler ab, der gegen diese Regel verstösst. Die Klausel delete cascade löscht alle Beiträge mit, wenn das Mitglied gelöscht wird (sehr praktisch in der Anwendung). Die dritte Möglichkeit delete set null setzt in der Beitragstabelle die Mitglieds-Nr auf null, wenn das Mitglied gelöscht wird. Die Einträge bleiben bestehen, man weiß dann aber nicht mehr, wem die mal zugeordnet waren. Als Fremdschlüssel sind auch Verbundschlüssel verwendbar. Das ist ein Primärschlüssel, der aus mehreren Feldern zusammengesetzt ist.

    Beim Laden der Tabellen mit Daten muss man die Reihenfolge der Abhängigkeiten berücksichtigen. Hier also zuerst die Mitglieder und dann die Beiträge laden. Wird eine Tabelle komplett ausgetauscht, so gehen alle diesbezüglichen Abhängigkeiten verloren. Man muss nach dem Tausch diese erneut definieren. Abhängigkeiten können auch gegenseitig oder im Kreis herum bestehen. Da gibt es durchaus sinnvolle Anwendungen dafür, auch wenn das beim Schreiben in die Datenbank kompliziert werden kann.

  • 0
    SQL, Wert auf Zahlen abfragen
    Antwort von Canifex Canifex

    Du müsstest angeben, welches SQL du verwendest ;). Bei manchen gibt es extra Funktionen dafür:

    http://msdn.microsoft.com/en-us/library/ms186272.aspx

    Wenn du jedoch MySQL benutzt, musst du einen Umweg einschlagen. Ich würde dir empfehlen, mit RegularExpressions zu arbeiten. Je nach Nummerart, die du abfragen willst, musst du folgenden RegExp anpassen:

    SELECT * FROM myTable WHERE myField REGEXP ('[0-9]')

    Kommentar von warkel warkel

    Oracle SQL. Das mit dem REGEXP habe ich nicht genau verstanden, es kommt dann

    SQL Error: ORA-00920: invalid relational operator 00920. 00000 - "invalid relational operator"

  • 0
    Fremdschlüssel!!!!!!!!!!1111
    Antwort von Joenator Joenator

    Man benutzt immer dann einen Fremdschlüssel wenn zwischen zwei Tabellen der Datenbank eine 1:n Kardinalität besteht.

    Der Primärschlüssel des einen Datensatzes der "1"-Tabelle wird in eine Fremdschlüsselspalte der "n"-Tabelle eingetragen und dient somit in der "n"-Tabelle als "Zeiger" auf den verbundenen Datensatz in der "1"-Tabelle.

  • 0
    Datenbank erstellen (mit klassen und beziehungen)
    Antwort von maxbreak maxbreak

    Wenn Du die bisherigen Antworten hernimmst erhältst Du eine dritte Tabelle:

    SmartphonesTarife

    • SmartphonesTarife_ID (PK)
    • Phone_ID (FK)
    • Tarif_ID (FK)
    • ...

    In dieser Tabelle ist hinterlegt welche Tarife für das jeweilige Handy möglich sind: Für ein Handy kann es kein/ein oder mehrere Tarife geben. Wenn du noch spezielle Infos für diese Beziehungen brauchst, kannst Du das noch in dieser Tabelle in weiteren Feldern ablegen.

    Damit ist Euer Datenmodell schön in der Normalform und Ihr habt nur 1 : n - Beziehungen und keine n : m - Beziehungen.

    Kommentar von maxbreak maxbreakmaxbreak

    In der Tabelle Smartphones darf es dann natürlich kein Feld Tarif_ID mehr geben!

    Smartphones

    • Phone_ID (PK)
    • Name
    • ...

    PK : Primary Key FK : Foreign Key

    Kommentar von maxbreak maxbreakmaxbreak

    Bei der Lösung von Termi93 wäre für ein Smartphone nur ein Tarif möglich und das wollt Ihr vermutlich nicht?

    Kommentar von Termi93 Termi93Termi93

    Du hast recht, hab das falsch geschrieben, es müsste bei der Tarif tabelle die Phone_ID, brainfail.. Zu viel gerabeitet^^

  • 0
    PHPMyAdmin bei bplaced.net
    Antwort von Sinane Sinane

    Einloggen und als SQL-Befehl alles ab "CREATE TABLE" einfügen und ausführen.

  • 1
    Datenbank erstellen (mit klassen und beziehungen)
    Antwort von Lio70 Lio70

    Du "darfst" das nicht direkt verbinden, weil Du stattdessen eine Kreuztabelle verwenden sollst, also eine Tabelle, welche die Verbindungen zwischen Handy und Tarifen enthält (also je einen Eintrag mit der ID für das Handy und der ID für einen Tarif).

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.