Except zwischen Tabellenspalte und harter Liste
Matthias
- datenbank
So Hallo!
Folgende Situation:
Ich habe eine Liste auf Papier:
1
2
5
6 <--
7
10
(zum Beispiel)
und eine Tabelle mit einer Spalte namens "nr", in der die meisten der Nummern schon vorkommen und auch noch viele andere:
1
2
3
4
5
7
8
9
10
Jetzt brauche ich ein Statement, welches mir auch meiner harten Liste genau die Nummern ausspuckt, die nur da nicht aber in der DB vorkommen.
Meine Idee
<harte Liste> except select nr from tab
Jetzt muss aber leider links und rechts vom except ein select-Resultat stehen.... nicht gut weil die Liste die ich von Papier da hintippe keine Select-Resultat ist.
Nun können die Select-Befehle (Plural wegen variierender Implementierung) doch einiges wozu keine Tabelle nötig ist,
select 1+1 --> 2 aber das läuft normalerweise drauf raus, dass es sich um ein einzeiliges Ergebnis handelt.
Jetzt kommt der Punkt:
Wie kann ich ein Select-Statement bauen, in welches ich hart reinschreibe 1,2,3,4 und das mir ein Ergebnis in Form einer ein-spaltigen Auflistung der Zahlen zurückgibt?
Primär wichtig wäre die Lösung für MySql. Für verschiedene oder allgemein funktionierende Lösungen würde ich mich sehr interessieren!
Danke
Mat
Hallo Mat,
Du könntest die Daten erstmal in den selben Kontext bringen.
Also importiere Deine "Papier"-Liste in eine neue Datenbanktabelle und benutze dann SQL.
Oder exportiere aus der Datenbank die Zahlen in eine zweite "Papier"-Liste und nutze dann z.B. ein Diff-Tool.
Viele Grüße
Stefan
Hey Stefan,
dieser Möglichkeiten bin ich mir schon bewusst. Und tatsächlich hab ich das schon so gelöst. Der Grund des Posts ist aber eine Lösung wie ich sie hier angedacht habe, weil ich mich weigere zu glauben, dass es sowas nicht gibt. Ich glaube sogar, dass es recht einfach gehen sollte. Nur wissen muss mans halt.
Ben