hande: SELECT * über mehrere Tabellen

hallo,

versuche einen suchbegriff über mehrere Tabellen abzufragen:

***************************
$searchvalue = "PLUSS";

$get_search_results =  "SELECT * FROM pkw, lkw WHERE bezeichnung LIKE '%$searchvalue%'";

$a_search_result= mysql_query($get_search_results);
************************

allein mit 'pkw' geht es (ergeb. wird angezeigt). häng ich weitere tabellen an (z.b.: lkw s.o) dann fehlermeldung:

"mysql_num_rows(): supplied argument is not a valid MySQL result resource".

(tabelle: 'lkw' besteht)

? was ist der trick ?

danke

  1. Hallo,

    $get_search_results =  "SELECT * FROM pkw, lkw WHERE bezeichnung LIKE '%$searchvalue%'";

    Du musst anstatt "bezeichnung" bei mehreren Tabellen (Join) immer auch die Tabelle angeben, in diesem Fall also "pkw.bezeichnung".

    Gruß
    Lachgas

    1. Hi,

      $get_search_results =  "SELECT * FROM pkw, lkw WHERE bezeichnung LIKE '%$searchvalue%'";

      Du musst anstatt "bezeichnung" bei mehreren Tabellen (Join) immer auch die Tabelle angeben, in diesem Fall also "pkw.bezeichnung".

      oder ein UNION:
       SELECT
        *
       FROM
        PKW
       UNION
       SELECT
        *
       FROM
        LKW

      Allerdings sind LKW und PKW hier vermutlich amuesanterweise von derselben Art (identisches Schema). (Also empfiehlt es sich hier mit einer Tabelle zu kommen, sofern nicht andere Gruende dagegen sprechen.)

      Gruss,
      Ludger