[quote=Ronnie,18.09.2003, 10:32]Wenn man z.B. 'M' als Suchbegriff eingibt, hole ich mir in einer ersten Abfrage sämtliche IDs von Standorten die mit 'M' anfangen und verwende diese dann um meine Suchabfrage zu erweitern s.o.[/quote]
Okay, das war doof. Man kann ja auch seine WHERE-Clauses nach klammern.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/perl -w
use strict;
use DBI;
my $dbh;
my $such_standort = 'Bin';
$dbh = DBI->connect ("DBI:mysql:host=192.168.0.1;database=mitarbeiter",
"me", "secret", {PrintError => 0, RaiseError => 1});
&mitarbeiter_suchen();
$dbh->disconnect();
exit(0);
#
# Ab hier: Subroutinen
#
sub mitarbeiter_suchen {
my $sth = $dbh->prepare ("
SELECT mitarbeiter.Nachname, mitarbeiter.Vorname, standorte.Standort, gesellschaften.Gesellschaft
FROM mitarbeiter
JOIN standorte, gesellschaften
WHERE mitarbeiter.Standort = standorte.SID
AND mitarbeiter.Gesellschaft = gesellschaften.GID
AND (standorte.Standort LIKE '$such_standort%'
AND mitarbeiter.Nachname LIKE 'Ne%')
");
$sth->execute();
while (my ($nachname, $vorname, $standort, $gesellschaft) = $sth->fetchrow_array()) {
print "$nachname,\t$vorname,\t$standort,\t$gesellschaft\n";
}
$sth->finish();
}
Kann MySQL mittlerweile eigentlich Sub-Selects?\n\n
<!--EDIT|Ronnie|1063886525-->