Inner join von 2 Tabellen mit gleichen Spaltennamen,
Ich arbeite auf der Darstellung der Leistungen von meinen minecraft server auf meiner Webseite.
Aber ich kann nicht ankommen es zu wirken.
function achievements() {
global $id;
$sql="SELECT * FROM achievements
INNER JOIN stats ON achievements.type=stats.type
INNER JOIN stats ON achievements.block=stats.block
INNER JOIN stats ON achievements.data=stats.data
INNER JOIN stats ON achievements.value=stats.value
WHERE player_id = $id";
$result=mysql_query($sql) or die(mysql_error());
$rows=mysql_fetch_array($result);
}
Wird, kann ich Sie $rows['achievements.type'];
und $rows['stats.type'];
um die Spalte "Typ" aus der ausgewählten Tabelle, oder gibt es einen anderen Weg, es zu tun?
Den Spalten-und Tabellennamen definiert werden, indem Sie das plugin, das ich benutze, also die Namen können nicht geändert werden.
SELECT *, stats.type AS stats_type
dann access als$rows['stats_type'];
ABER vorsichtig sein, da $rows['type'] wird aus der letzten Tabellestats, achievements
Du musst angemeldet sein, um einen Kommentar abzugeben.
der Grund, warum es nicht funktioniert ist, weil (meine eigene Meinung) der server ist ein wenig verwirrt darüber, wo, wie es mit den Spalten Namen richtig. Um es zu arbeiten, fügen Sie einen alias für jede Tabelle hat den gleichen Namen, den Sie möchten, zu verbinden sowie die Spalten, z.B.
angenommen, Sie wollen Holen Sie sich die Namen für jede bestimmte Spalten.
Geben die Spalten, die Sie haben wollen, während Sie
SELECT
Sie einen alias als Beispiel:Nun können Sie die Werte wie diese:
$rows['Achieve-Type'];
Es ist einfacher, alias der Tabelle Namen mit...
Könnte man auch alias-die Ergebnisse, wenn Sie es wünschen, so sind Sie mehr unterscheidbar, wenn Sie wählen Sie aus
$rows