Hallo liebe Leute,
folgendes Problem:
Ich habe eine umfangreiche Tabelle mit folgender Struktur:
(Auszug aus der Tabelle, es handelt sich eigentlich um eine Tabelle mit 60.000 Einträgen und 30 Spalten)
id | jahr | text1 | text2 | text3 | text4 | text5 | text6 | text7 | text8 | text9
--------------------------------------------------------------------------------------------
1 | 2003 |auto | sport | motor| media| welt | test | reise | tank | flug
2 | 2001 | motor | auto | nett | media| welt | test | reise | tank | flug
3 | 2003 | media | motor| nett | welt | test | reise | tank | flug
Nun mache ich einen select:
Nun möchte ich das Suchergebnis bzw. die Ausgabe so sortieren lassen, dass zuerst nach dem Jahr und dann aber nach der Spaltenposition des Treffers sortiert wird.
D.h. Wenn ich nach den string "motor" suche, dann möchte ich folgende Reihenfolge ausgeben:
id 3
id 1
id 2
Ich brauche also eigentlich einen Indexwert der angibt, in welcher Spalte (nummeriert) der string gefunden wurde.
Gibt es dafür eine mysql Funktion/Befehl?
Würde das über eine Temporäre Tabelle oder ein array gehen?
Bitte bedenkt dabei, es handelt sich um ziemlich große Tabelle.
Vielen Dank!
Jogi
folgendes Problem:
Ich habe eine umfangreiche Tabelle mit folgender Struktur:
(Auszug aus der Tabelle, es handelt sich eigentlich um eine Tabelle mit 60.000 Einträgen und 30 Spalten)
id | jahr | text1 | text2 | text3 | text4 | text5 | text6 | text7 | text8 | text9
--------------------------------------------------------------------------------------------
1 | 2003 |auto | sport | motor| media| welt | test | reise | tank | flug
2 | 2001 | motor | auto | nett | media| welt | test | reise | tank | flug
3 | 2003 | media | motor| nett | welt | test | reise | tank | flug
Nun mache ich einen select:
PHP-Code:
SELECT * FROM tabelle WHERE text1 LIKE '%$suchbegriff%' OR text2 LIKE '%$suchbegriff%' OR text3 LIKE '%$suchbegriff%' OR text4 LIKE '%$suchbegriff%' OR text5 LIKE '%$suchbegriff%' OR text6 LIKE '%$suchbegriff%' OR text7 LIKE '%$suchbegriff%' OR text8 LIKE '%$suchbegriff%' OR text9 LIKE '%$suchbegriff%' OR text10 LIKE '%$suchbegriff%' ORDER BY jahr;
D.h. Wenn ich nach den string "motor" suche, dann möchte ich folgende Reihenfolge ausgeben:
id 3
id 1
id 2
Ich brauche also eigentlich einen Indexwert der angibt, in welcher Spalte (nummeriert) der string gefunden wurde.
Gibt es dafür eine mysql Funktion/Befehl?
Würde das über eine Temporäre Tabelle oder ein array gehen?
Bitte bedenkt dabei, es handelt sich um ziemlich große Tabelle.
Vielen Dank!
Jogi
Kommentar