Ergebnis 1 bis 4 von 4

Thema: Einfache Abfrage mit Eingabeaufforderung

  1. #1
    Chemiker ist offline Neuer Benutzer
    Registriert seit
    08.04.2008
    Beiträge
    2

    Standard Einfache Abfrage mit Eingabeaufforderung

    Hallo,
    folgende Situation:
    Ich habe lediglich eine große Tabelle mit Daten über verschiedene PKW's gesammelt. Jetzt möchte ich eine Abfrage erstellen, wo der Benutzer z.B. den Fahrzeugtyp (z.B. Astra, Golf, Passat usw.) eingeben kann und dann lediglich alle Spalten mit diesen Inhalten angezeigt werden.
    Ich denke mal das sollte mittels SQL ja möglich sein.
    Die Frage ist nur eben mit welchem Befehl ?

    Für eure Hilfe wäre ich sehr dankbar.

  2. #2
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Chemiker Beitrag anzeigen
    Hallo,
    folgende Situation:
    Ich habe lediglich eine große Tabelle mit Daten über verschiedene PKW's gesammelt.
    Das klingt nach ... "nicht normalisiert".

    Jetzt möchte ich eine Abfrage erstellen, wo der Benutzer z.B. den Fahrzeugtyp (z.B. Astra, Golf, Passat usw.) eingeben kann und dann lediglich alle Spalten mit diesen Inhalten angezeigt werden.
    Die anzuzeigenden Spalten legt man beim SELECT in der Select-Liste an, das Suchkriteriem im WHERE. Das Resultat sind dann 0 oder mehr Zeilen. Offensichtlich solltest Du erst einmal diese Begriffe auseinanderhalten.

    Ich denke mal das sollte mittels SQL ja möglich sein.
    Die Frage ist nur eben mit welchem Befehl ?

    Für eure Hilfe wäre ich sehr dankbar.
    SELECT hersteller, typ, baujahr, tachostand FROM autos WHERE hersteller='VW' and typ in ('Golf','Passat') ORDER BY baujahr;


    Könnte vielleicht Dir helfen, falls Dein Tabellendesign haargenau zu meiner Vermutung paßt.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    Chemiker ist offline Neuer Benutzer
    Registriert seit
    08.04.2008
    Beiträge
    2

    Standard

    Erstmal vielen Dank.
    Die Abfrage ist soweit richtig, nur möchte ich ja, dass der jeweilige Nutzer der Datenbank sozusagen den WHERE befehl definiert.
    Ich möchte ja ungern hunderte Abfragen schreiben, die die Nutzer dann ausführen können. Sondern ich möchte mittels Eingabebox beim Starten der Datenbank den Benutzer bitten z.B. den Fahrzeughersteller einzugeben, welcher dann gesucht werden soll.
    Und genau dort hängt es bei mir, da ich keinen Befehl für eine solche Eingabebox mit anschließender Verarbeitung kenne.

  4. #4
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Chemiker Beitrag anzeigen
    Erstmal vielen Dank.
    Die Abfrage ist soweit richtig, nur möchte ich ja, dass der jeweilige Nutzer der Datenbank sozusagen den WHERE befehl definiert.
    Ich möchte ja ungern hunderte Abfragen schreiben, die die Nutzer dann ausführen können. Sondern ich möchte mittels Eingabebox beim Starten der Datenbank den Benutzer bitten z.B. den Fahrzeughersteller einzugeben, welcher dann gesucht werden soll.
    Und genau dort hängt es bei mir, da ich keinen Befehl für eine solche Eingabebox mit anschließender Verarbeitung kenne.
    SQL kennt sowas nicht. Du brauchst also ein Client-Programm, was das übernimmt. Schnellschuß:

    Code:
    test=> create table auto (marke text, baujahr int);
    CREATE TABLE
    test=*> copy auto from stdin;
    Enter data to be copied followed by a newline.
    End with a backslash and a period on a line by itself.
    >> trabbi       1970
    >> vectra       2001
    >> \.
    test=*> commit;
    COMMIT
    test=> \q
    kretschmer@pegasus:~$ cat frage.sh
    #!/bin/sh
    echo "Marke:"
    read marke
    echo "select baujahr from auto where marke='$marke';" | psql test
    
    kretschmer@pegasus:~$ ./frage.sh
    Marke:
    trabbi
     baujahr
    ---------
        1970
    (1 row)
    
    kretschmer@pegasus:~$ ./frage.sh
    Marke:
    vectra
     baujahr
    ---------
        2001
    (1 row)

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

Ähnliche Themen

  1. Problem sql Datei ausführen mit der Eingabeaufforderung
    Von karnahi im Forum SQL
    Antworten: 3
    Letzter Beitrag: 27.09.2011, 16:06
  2. Antworten: 15
    Letzter Beitrag: 11.11.2010, 17:43
  3. Einfache Abfrage?
    Von Alfredo im Forum SQL
    Antworten: 2
    Letzter Beitrag: 18.02.2009, 10:29
  4. SQL einfache Abfrage Postoffice
    Von Sp4wnyone im Forum SQL
    Antworten: 3
    Letzter Beitrag: 09.05.2008, 03:04
  5. Problem einfache SQL-Abfrage
    Von Angelina im Forum SQL
    Antworten: 4
    Letzter Beitrag: 05.05.2008, 21:35

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum