- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 08-03-2003, 01:16
BobbyX
 Newbie
Links : Onlinestatus : BobbyX ist offline
Registriert seit: Mar 2003
Beiträge: 25
BobbyX ist zur Zeit noch ein unbeschriebenes Blatt
Standard SELECT und doppelte Datensätze

Hi Leute,

hab mal wieder ein Problem...;-)

Zwei Tables, gesucht wird mit Volltextsuche über zwei Felder (eine Überschrift im ersten Table und einem Text im 2. Table) Es sind nun Datensätze vorhanden, die zwar eine unterschiedliche ID haben, jedoch die gleiche Überschrift. Wie schaffe ich es nur die Datensätze zu bekommen die sowohl unterschiedliche ID haben als auch unterschiedliche überschriften??? Mit DISTINCT kam ich zu keinem Erfolg...

SELECT DISTINCT table1.headline, table1.id, table2.text FROM table1, table2 WHERE .... ORDER BY table1.headline ASC LIMIT $offset, 20

Hat jemand ein Vorschlag??

Greetz,
Bobby
Mit Zitat antworten
  #2 (permalink)  
Alt 08-03-2003, 01:25
Troublegum
 PHP Senior
Links : Onlinestatus : Troublegum ist offline
Registriert seit: Dec 2001
Beiträge: 1.302
Troublegum ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Probiers mal so:

SELECT table1.headline, table1.id, table2.text FROM table1, table2 WHERE (table1.id<>table2.id AND table1.headline<>table2.headline) ORDER BY table1.headline ASC LIMIT $offset, 20
__________________
"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"
"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "
"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."

© Harald Schmidt
Mit Zitat antworten
  #3 (permalink)  
Alt 08-03-2003, 01:30
BobbyX
 Newbie
Links : Onlinestatus : BobbyX ist offline
Registriert seit: Mar 2003
Beiträge: 25
BobbyX ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hi...ich glaub ich hab zu wenig info gegeben...;-)

Table 1 besteht nur aus ID (Primary Key), Table, und Rubrikinfos
Table 2 aus ID (PrimaryKey), relationID (der ID aus Table1), Text, und sonstiges...

es geht nun darum, dass eine Volltextsuche über table1.headline und table2.text laufen soll und alle Begriffe wie z.b auto finden soll...

nun gibt es doppelte headlines, aber mir unterschiedlicher ID. Dieses will ich vermeiden und jede Überschrift nur einmal herauslesen
Mit Zitat antworten
  #4 (permalink)  
Alt 08-03-2003, 01:38
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.621
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

poste mal die mit phpMyAdmin exportierten tabellen strukturen und sage noch mal genau, wie du die daten brauchst und in welchem zusammenhang diese stehen.

ich habe irgendwie grad den überblick verloren...

parallel kannst du mal dies probieren
Code:
SELECT    *
FROM      table1 T1
            LEFT OUTER JOIN table2 T2 ON T1.ID = T2=relationID
ist aber ohne WHERE.

kommen die daten immer noch korrekt raus? unabhängig von der menge.
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #5 (permalink)  
Alt 08-03-2003, 01:43
BobbyX
 Newbie
Links : Onlinestatus : BobbyX ist offline
Registriert seit: Mar 2003
Beiträge: 25
BobbyX ist zur Zeit noch ein unbeschriebenes Blatt
Standard tables

so..hier die beiden tables...


CREATE TABLE Table1 (
id int(5) NOT NULL default '0',
headline varchar(255) NOT NULL default '',
cat1 varchar(60) NOT NULL default '',
cat2 varchar(60) NOT NULL default '',
cat3 varchar(60) NOT NULL default '',
PRIMARY KEY (id),
KEY Information Index (headline)
) TYPE=MyISAM

CREATE TABLE table2 (
id int(5) unsigned NOT NULL auto_increment,
relationID int(5) unsigned NOT NULL default '0',
content longtext NOT NULL,
hits int(6) NOT NULL default '0',
source varchar(100) NOT NULL default '',
author varchar(100) NOT NULL default '',
user varchar(50) NOT NULL default '',
date datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (id),
KEY relationID (relationID)
) TYPE=MyISAM;
Mit Zitat antworten
  #6 (permalink)  
Alt 08-03-2003, 01:45
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.621
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

und die weiteren infos, die ich angefordert hatte?

anfordern.... wie das klingt....
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #7 (permalink)  
Alt 08-03-2003, 01:50
BobbyX
 Newbie
Links : Onlinestatus : BobbyX ist offline
Registriert seit: Mar 2003
Beiträge: 25
BobbyX ist zur Zeit noch ein unbeschriebenes Blatt
Standard ups..

ups...ganz vergessen ...

ich brauche table1.headline, table1.cat1 - table1.cat3 table1.id
gesucht werden soll aber ein begriff über table2.content und table1.headline ...bsp. %auto%...

wenns geht ohne joins....*g*...
Mit Zitat antworten
  #8 (permalink)  
Alt 08-03-2003, 01:56
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.621
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

ohne join wird wohl nicht sauber und performance-sparend gehen.

das müsste passen.

Code:
SELECT    DISTINCT T1.headline,
          T1.cat1,
          T1.cat2,
          T1.cat3,
          T1.id
FROM      table1 T1
            LEFT OUTER JOIN table2 T2 ON T1.ID = T2.relationID
WHERE     T2.content LIKE '%auto%' OR
          T1.headline LIKE '%auto%'
EDIT:
tippfehler korrigiert
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |



Geändert von Abraxax (08-03-2003 um 02:02 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 08-03-2003, 02:03
BobbyX
 Newbie
Links : Onlinestatus : BobbyX ist offline
Registriert seit: Mar 2003
Beiträge: 25
BobbyX ist zur Zeit noch ein unbeschriebenes Blatt
Standard

muss die T1 und T2 durch irgendwas ersetzten ???
Mit Zitat antworten
  #10 (permalink)  
Alt 08-03-2003, 02:08
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.621
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

nein. das sind aliase für table1 und table2.
bin zu faul zum tippen...
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #11 (permalink)  
Alt 08-03-2003, 02:14
BobbyX
 Newbie
Links : Onlinestatus : BobbyX ist offline
Registriert seit: Mar 2003
Beiträge: 25
BobbyX ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hey ...super ..das geht astrein....tausend dank !!!

wie würde der SELECT denn aussehen für auto AND (cabrio OR pkw)
Mit Zitat antworten
  #12 (permalink)  
Alt 08-03-2003, 02:15
BobbyX
 Newbie
Links : Onlinestatus : BobbyX ist offline
Registriert seit: Mar 2003
Beiträge: 25
BobbyX ist zur Zeit noch ein unbeschriebenes Blatt
Standard

halt stop...des geht doch nicht ..wenn drei headlines gleich sind, werden die dennoch alle drei ausgegeben.....
Mit Zitat antworten
  #13 (permalink)  
Alt 08-03-2003, 02:17
Troublegum
 PHP Senior
Links : Onlinestatus : Troublegum ist offline
Registriert seit: Dec 2001
Beiträge: 1.302
Troublegum ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dann lass mal das DISTINCT weg und gruppiere die Abfrage nach T1.headline.
__________________
"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"
"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "
"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."

© Harald Schmidt
Mit Zitat antworten
  #14 (permalink)  
Alt 08-03-2003, 02:20
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.621
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von BobbyX
wie würde der SELECT denn aussehen für auto AND (cabrio OR pkw)
logischerweise die WHERE clausel erweitern !!!

Code:
WHERE     (T2.content LIKE '%auto%' OR
           T1.headline LIKE '%auto%')
          
          AND
          
          (T2.content LIKE '%cabrio%' OR
           T1.headline LIKE '%cabrio%' OR
           T2.content LIKE '%pkw%' OR
           T1.headline LIKE '%pkw%')
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #15 (permalink)  
Alt 08-03-2003, 02:31
BobbyX
 Newbie
Links : Onlinestatus : BobbyX ist offline
Registriert seit: Mar 2003
Beiträge: 25
BobbyX ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ok ..jetzt gehts...nochmal vielen dank für deine hilfe :-)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

EM 2012 Tipp-Spiel ansehen EM 2012 Tipp-Spiel

Online Tipp-Spiel zur Fussball Europameisterschaft 2012, basierend auf php-Script mit hinterlegter mySql-Datenbank

27.05.2012 tippimnetz | Kategorie: PHP/ Spiele
Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

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