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 13-07-2007, 10:06
fab_k
 Newbie
Links : Onlinestatus : fab_k ist offline
Registriert seit: Aug 2004
Beiträge: 51
fab_k ist zur Zeit noch ein unbeschriebenes Blatt
Standard Abfrage aus zwei Tabellen vereinen

Hallo Forum,

ich komme bei einer MySQL-Abfrage nicht weiter; ich konnte den Artikel zu JOINS von mrhappiness leider nicht auf mein Problem anwenden...

Vereinfacht:

Es gibt zwei Tabellen: "Messetermine" und "Ausbildungstermine"

In beiden Tabellen gibt es die "Bezeichnung", als Name des Eintrages.

In beiden Tabellen gibt es "von" und "bis", ein Timestamp.

Nun möchte ich folgendes:

Ich würde gerne die 5 (zunächst) kommenden Termine haben, jedoch zusammengefasst aus beiden Tabellen, es sollen nur 5 Datensätze sein.

die query müsste so ähnlich aussehen, wie:

PHP-Code:
$termine mysql_query ("SELECT * FROM messen, ausbildungen WHERE bis > ".time()."
ORDER BY von ASC LIMIT 0,5"
); 
Dies ruft jedoch eine Fehlermeldung hervor.

Vielleicht kann jemand helfen?

Vielen Dank und Gruß
Fabian

Geändert von fab_k (13-07-2007 um 14:02 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 13-07-2007, 10:08
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: Abfrage aus zwei Tabellen vereinen

Zitat:
Original geschrieben von fab_k
Es gibt zwei Tabellen: "Messetermine" und "Ausbildungstermine"
Unterscheiden sich diese beiden Arten von Terminen derart, dass eigene Tabellen gerechtfertigt sind?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 13-07-2007, 10:16
fab_k
 Newbie
Links : Onlinestatus : fab_k ist offline
Registriert seit: Aug 2004
Beiträge: 51
fab_k ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für die schnelle Antwort...

Ja, es gibt in den beiden Tabellen unterschiedliche Felder. Es sind auch zwei Bereich auf der Site (+ für mich übersichtlicher).
Mit Zitat antworten
  #4 (permalink)  
Alt 13-07-2007, 10:55
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von fab_k
Ja, es gibt in den beiden Tabellen unterschiedliche Felder. Es sind auch zwei Bereich auf der Site (+ für mich übersichtlicher).
Das letzteres absolut nicht relevant sein kann, sollte wohl klar sein.


Wenn dir eine Version zur Verfügung steht, die UNION schon unterstützt - dann könntest du darüber beide Tabellen zusammenführen, sortieren und mit LIMIT arbeiten.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 13-07-2007, 14:02
fab_k
 Newbie
Links : Onlinestatus : fab_k ist offline
Registriert seit: Aug 2004
Beiträge: 51
fab_k ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja, UNION geht, habe nun folgendes probiert:

PHP-Code:
$conv mysql_query ("(SELECT * FROM ausbildungen WHERE bis > ".time().") UNION (SELECT *
FROM conventions WHERE bis > "
.time().") ORDER BY von ASC LIMIT 0,5"); 
.. das ist es aber scheinbar noch nicht ganz

In den Ergebnissen wird das "bis-Datum" der zweiten Tabelle als 01.01.1970 angezeigt und mit dem "vom-Datum" vertauscht... (?)
Mit Zitat antworten
  #6 (permalink)  
Alt 13-07-2007, 14:15
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

du musst die select so aufbauen, dass die Anzahl der selektierten Spalten gleich sind, nicht einfach hirnlos select * schreiben.
Mit Zitat antworten
  #7 (permalink)  
Alt 13-07-2007, 14:28
fab_k
 Newbie
Links : Onlinestatus : fab_k ist offline
Registriert seit: Aug 2004
Beiträge: 51
fab_k ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Vielen Dank, asp2php, jetzt klappt es:

PHP-Code:
$conv mysql_query ("(SELECT bezeichnung, von, bis, ort FROM ausbildungen WHERE bis >
"
.time().") UNION (SELECT bezeichnung, von, bis, ort FROM conventions WHERE bis > ".time().") 
ORDER BY von ASC LIMIT 0,5"
); 
Für alle mit ähnlichen Problemstellungen ist diese Seite grundsätzlich gut:

http://dev.mysql.com/doc/refman/5.0/en/union.html
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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:12 Uhr.