phpbar.de logo

Mailinglisten-Archive

Re: subselect oder join oder weder noch
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: subselect oder join oder weder noch



Mariano Glas schrieb am Montag, den 13. September 1999:
[Tabellen Termin_DB1 und Termin_DB2:
  von       DATE,
  bis       DATE,
  terminbez CHAR(100)
]
> aus beiden datenbanken sollen jetzt alle termine die noch nicht
> vorbei sind, jedoch maximal drei, angezeigt werden.

Welche drei sollen es denn sein, wenn es mehr gibt?

> wie gesagt in tcl sind es fuenf zeilen, aber ein select in mysql bringt mich
> nicht weiter, da keine eindeutigkeit vorherscht (und da hat mysql recht)
> 
> select von, bis from Termin_DB1, Termin_DB2 where bis > now() LIMIT 3;

Was Du bräuchtest, wäre eine UNION:
  ( SELECT von, bin FROM Termin_DB1 WHERE bis > CURRENT_DATE )
  UNION
  ( SELECT von, bin FROM Termin_DB2 WHERE bis > CURRENT_DATE )

Da MySQL bisher (einschließlich der neuen V3.23.3) UNION noch nicht
kann, mußt Du mit einer temporären Hilfstabelle arbeiten:

  CREATE TABLE tmp ( von DATE, bis DATE, terminbez CHAR(100) );
  LOCK TABLES tmp WRITE, Termin_DB1 READ, Termin_DB2 READ;
  INSERT INTO tmp 
    SELECT von, bin, terminbez FROM Termin_DB1 WHERE bis > CURRENT_DATE;
  INSERT INTO tmp 
    SELECT von, bin, terminbez FROM Termin_DB1 WHERE bis > CURRENT_DATE;
  SELECT * FROM tmp ORDER BY von LIMIT 3;
  UNLOCK TABLES;
  DROP TABLE tmp;

Ciao,
  Martin

PS: Wenn Du oben von "Datenbanken" sprichst, meinst Du anscheinend
Tabellen, oder?  Eine Datenbank ist eine Kollektion von Tabellen ...
-- 
Martin Ramsch <m.ramsch_(at)_computer.org> <URL: http://home.pages.de/~ramsch/ >
PGP KeyID=0xE8EF4F75 FiPr=52 44 5E F3 B0 B1 38 26  E4 EC 80 58 7B 31 3A D7

---
*** Abmelden von dieser Mailingliste funktioniert per E-Mail
*** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive