Suchen
Inside Forum
Nützliche Links




 
phpforum.de bei Facebook
 
phpforum.de bei Twitter
 

Zurück   PHP Forum: phpforum.de > Datenbanken > Datenbanken

Datenbanken Alles rund um MySQL, MariaDB, PostgreSQL o.ä. und die NoSQL-Datenbanken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.03.2018, 10:01
petja24 petja24 ist offline
Besucher
 
Registriert seit: 22.04.2014
Beiträge: 95
Standard In welcher Spalte wurde das Ergebniss gefunden

Hallo,
nach langem suchen im WWW habe ich leider nichts dazu gefunden. Auch die Suche hier im Forum ergab keinen Treffer.

Wie die Überschrift es schon beschreibt suche ich eine Möglichkeit um herauszufinden in welcher Tabellenspalte ein Ergebnis gefunden wurde.

Ein Beispiel

Spalte 1 -> Wort 1
Spalte 2 -> Wort 2
Spalte 3 -> Wort 3
Spalte 3- > Wort 3

Die Tabelle durchsuche ich mit dem LIKE Operator

SQL Quellcode:
SELECT id FROM tabelleName WHERE (Spalte 1 LIKE '%" . $searchString . "%' OR Spalte 2 LIKE '%" . $searchString . "%' OR Spalte 3 LIKE '%" . $searchString . "%')


Das funktioniert soweit und bringt das richtige Ergebnis. Nun möchte ich aber noch wissen in welcher bzw. welchen Spalten das Ergebnis gefunden wurde.

Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt.
LG Peter
Mit Zitat antworten
  #2  
Alt 03.03.2018, 11:11
hellbringer hellbringer ist offline
Forum-Mitarbeiter
 
Registriert seit: 27.03.2008
Beiträge: 31.071
Standard AW: In welcher Spalte wurde das Ergebniss gefunden

Code:
mysql> CREATE TEMPORARY TABLE temp (
    ->     id INT NOT NULL AUTO_INCREMENT,
    ->     foo VARCHAR(255) NOT NULL,
    ->     bar VARCHAR(255) NOT NULL,
    ->     baz VARCHAR(255) NOT NULL,
    ->     PRIMARY KEY (id)
    -> );
Query OK, 0 rows affected (0.03 sec)

mysql> INSERT INTO temp
    ->     (foo, bar, baz)
    -> VALUES
    ->     ('123', '456', '789'),
    ->     ('456', '789', '123'),
    ->     ('789', '123', '456'),
    ->     ('ABC', 'DEF', 'GHI');
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0

mysql> SELECT
    ->     id,
    ->     (foo LIKE '%2%') AS found_in_foo,
    ->     (bar LIKE '%2%') AS found_in_bar,
    ->     (baz LIKE '%2%') AS found_in_baz
    -> FROM
    ->     temp
    -> HAVING
    ->     found_in_foo OR found_in_bar OR found_in_baz;
+----+--------------+--------------+--------------+
| id | found_in_foo | found_in_bar | found_in_baz |
+----+--------------+--------------+--------------+
|  1 |            1 |            0 |            0 |
|  2 |            0 |            0 |            1 |
|  3 |            0 |            1 |            0 |
+----+--------------+--------------+--------------+
3 rows in set (0.00 sec)

Geändert von hellbringer (03.03.2018 um 11:15 Uhr)
Mit Zitat antworten
  #3  
Alt 03.03.2018, 13:10
akretschmer akretschmer ist offline
Engagierter Besucher
 
Registriert seit: 25.09.2013
Beiträge: 1.165
Standard AW: In welcher Spalte wurde das Ergebniss gefunden

ich biete noch:

Code:
test=*# select * from petja24 ;
 id | a  | b  | c  
----+----+----+----
  1 | 10 | 11 | 12
  2 | 20 | 21 | 22
(2 Zeilen)

test=*# select id, case when a=11 then 'a'::text when b=11 then 'b' when c=11 then 'c' end as spalte from petja24 where a=11 or b=11 or c=11;
 id | spalte
----+--------
  1 | b
(1 Zeile)

test=*#
__________________
--
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Mit Zitat antworten
  #4  
Alt 05.03.2018, 08:29
petja24 petja24 ist offline
Besucher
 
Registriert seit: 22.04.2014
Beiträge: 95
Standard AW: In welcher Spalte wurde das Ergebniss gefunden

Hallo,
danke für die Antworten. Sieht auf dem ersten Blick kompliziert aus. Werde mir das in Ruhe anschauen um zu verstehen was da passiert.

LG Petja
Mit Zitat antworten


Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu
Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
365 buttons, welcher wurde gedrückt? acillus PHP 2 02.01.2009 16:26
PHP 4 Das angegebene Modul wurde nicht gefunden. burn981 Administration 4 16.11.2006 11:07
"Seite wurde nicht gefunden..." karinsch PHP 5 14.11.2006 10:31
Ergebniss nur bekommen wenn eine best. Spalte "null" ist hjpw Datenbanken 2 22.08.2004 01:12
Modul wurde nicht gefunden.... Matthias und Ken PHP 0 01.01.1970 01:00


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:33 Uhr.


Powered by vBulletin® Version 3.8.8 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Powered by NuWiki v1.3 RC1 Copyright ©2006-2007, NuHit, LLC