Toon posts:

Combineren colums in SQL statement

Pagina: 1
Acties:
  • 42 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo,

Ik ben bezig met het aanpassen van een SELECT statement voor een MYSQL database, en ik loop tegen een probleem aan. Het statement dat ik schrijf wordt gebruikt in de configure file van Exim (om op te zoeken of een binnenkomend mailtje mag worden afgeleverd).

Het oorspronkelijke statement is als volgt:
VIRTUAL_DOMAINS = SELECT DISTINCT domain FROM Maildomains WHERE type = 'local' AND enabled = '1' AND domain = '${quote_mysql:$domain}'

Dit statement haalt een domeinnaam op uit de database. Eigenlijk vrij simpel. Maar, in de omgeving waarin ik Exim gebruik staat de domeinnaam (voorbeeld.nl) niet in Maildomains, maar in Domains. De overige mailgegevens van dat domein staan wel weer in Maildomains.

In Maildomains staat in de column 'domain' slechts een uid die verwijst naar de tabel Domains. In Domains bevinden zich de columns uid, name en ext (van extensie).

Dat betekent dus dat ik het statement moet herschrijven, zodat Domains.name en Domains.ext gecombineerd worden in één column. Vraag is nu, hoe doe ik dat?

Ik heb een pseudo-sql-statement opgeschreven, maar die is vast niet goed:
VIRTUAL_DOMAINS = SELECT DISTINCT ("D.name" + "D.ext") AS domain FROM Maildomains AS M, Domains AS D WHERE M.type = 'local' AND M.enabled = '1' AND ("D.name" + "D.ext") = '${quote_mysql:$domain}' AND M.domain = D.uid;

Hierin is te zien dat er nog een tweede probleem is. In het tweede deel van het statement vergelijk ik twee colums met één waarde (("D.name" + "D.ext") = '${quote_mysql:$domain}'). Is zoiets uberhaupt mogelijk?

M.b.v. Google heb ik het antwoord op deze vraag niet kunnen vinden. Misschien zoek ik op de verkeerde sleutelwoorden; hierbij dan alvast mijn excuses.

[ Voor 11% gewijzigd door Verwijderd op 24-07-2005 14:49 ]


  • Gertjan
  • Registratie: Oktober 2001
  • Laatst online: 07-02 20:23

Gertjan

mmmm, beer...

Voor het aan elkaar plakken van strings gebruik je concat().

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-05 20:49

Creepy

Tactical Espionage Splatterer

Als je de mysql handleiding erbij pakt bij de string functions dan kom je inderdaad al snel op concat uit. Dit had je prima zelf kunnen vinden denk ik ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.