From: Moritz Bunkus Date: Mon, 21 May 2007 11:37:24 +0000 (+0000) Subject: Der SQL-Code für die Suche nach Hersteller und Modell in den Stammdaten benutze einen... X-Git-Tag: release-2.4.3^2~280 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=ee8cd3160941dd808b75b8f06e7138eaca90c9af;p=kivitendo-erp.git Der SQL-Code für die Suche nach Hersteller und Modell in den Stammdaten benutze einen Alias "m", der nicht definiert wurde. Fix für Bug 653. Zusätzlich das Query etwas verbessert. --- diff --git a/SL/IC.pm b/SL/IC.pm index a27cc52e4..092a24d0f 100644 --- a/SL/IC.pm +++ b/SL/IC.pm @@ -861,10 +861,15 @@ sub all_parts { $where .= qq| AND (p.onhand < p.rop)|; } + my @subcolumns; foreach my $column (qw(make model)) { - next unless ($form->{$column}); - $where .= qq| AND p.id IN (SELECT DISTINCT m.parts_id FROM makemodel WHERE $column ILIKE ?)|; - push(@values, '%' . $form->{$column} . '%'); + push @subcolumns, $column if $form->{$column}; + } + if (@subcolumns) { + $where .= qq| AND p.id IN (SELECT DISTINCT parts_id FROM makemodel WHERE |; + $where .= join " AND ", map { "($_ ILIKE ?)"; } @subcolumns; + $where .= qq|)|; + push @values, map { '%' . $form->{$_} . '%' } @subcolumns; } if ($form->{l_soldtotal}) {