McGregor: Gleicher Spaltenname bei join

Hallo!

Ich habe 2 Tabellen:

tabelle1:
uid   |  Hersteller
-------------------
0     | Microsoft
1     | Apple

tabelle2:
uid   | Hersteller   | Beschreibung
-----------------------------------
0     | 0            | Windows XP
1     | 0            | Windows 2000
2     | 1            | OSX

Eine Suchanfrage an die Tabelle sieht folgendermaßen aus:
SELECT tabelle1 as t1, tabelle2 as t2 WHERE
t2.Beschreibung LIKE '%bla%' AND t2.Hersteller = t1.uid

Das Ergebnis ist:
uid   | Hersteller   | Beschreibung
----------------------------------
0     | Microsoft    | Windows XP
1     | Microsoft    | Windows 2000
2     | Apple        | OSX

Aber wo ist die Spalte der uid des Herstellers und wie kann ich diese umbenennen, da sie auch "uid" heißt?

Danke und Grüße
McGregor

  1. Hi,

    SELECT tabelle1 as t1, tabelle2 as t2 WHERE

    das glaube ich nicht. Obiges ist die FROM-Clause, die SELECT-Clause fehlt komplett.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. yo,

    mal davon abgesehen, dass ich nicht den gleichen spaltennamen vergeben würde, kannst du so wie du es auch bei den tabellen gemacht hast, den spalten alias namen zuordnen.

    dabei spricht du die spalten mit den gleichen namen (uid) damit an, dass du den tabellenalis davor setzt.

    select t1.uid AS 'Test', t2.uid AS 'Test2', weitere spalten
    FROM tabelle1 as t1, tabelle2 as t2
    WHERE
    t2.Beschreibung LIKE '%bla%' AND t2.Hersteller = t1.uid

    Ilja