wie wähle ich Daten aus mehreren Spalten aus zwei Tabellen, in denen es eine gemeinsame Spalte in beiden?

scheint wie ein Kuchen zu gehen, weil der gemeinsame Spalte Sache, aber ich habe gesucht und ich habe gesucht und keine Antwort finden können, überall. es mag sehr ähnliche Dinge, die Menschen tun, versucht aber immer jeder muss es etwas anders als wie ich es brauche. egal, hier geht...

jobs-Tabelle

+----+--------+----+----+----+
| id | userid | i1 | i2 | i3 |
+----+--------+----+----+----+
| 1  |   1    | a  | k  | t  |
| 2  |   1    | b  | l  | u  |
| 3  |   1    | c  | m  | v  |
| 4  |   2    | d  | n  | w  |
| 5  |   2    | f  | o  | x  |
| 6  |   2    | g  | p  | y  |
| 7  |   3    | h  | q  | z  |
| 8  |   3    | i  | r  | a  |
| 9  |   4    | j  | s  | b  |
+----+--------+----+----+----+

Tabelle user_table

+--------+----+----+----+
| userid | fn | ln | i4 |
+--------+----+----+----+
|   1    | a  | b  | w  |
|   2    | c  | d  | x  |
|   3    | e  | f  | y  |
|   4    | g  | h  | z  |
+--------+----+----+----+

möchte ich Sie zum auswählen mehrerer Spalten aus einer Tabelle und mehrere Spalten aus einer anderen Tabelle, und die Anzahl der Spalten, die nicht den gleichen Betrag. also wenn ich auswähle, id, i1, i2, und i3 aus der Tabelle Aufträge und der Auswahl von fn, ln und i4 aus Tabelle user_table, dann, dass heißt ich bin auswählen 4 Daten aus der Tabelle Aufträge und von 3 Stück info aus Tabelle user_table.

also sagen wir mal ich möchte wählen Sie eine bestimmte Aufgabe und die Anzeige der info für den job, aber auch ich will, die Anzeige der info des Benutzers, das gehört zu dem job, dann könnte es etwa so gehen...

job 1:

id: 1, i1: a, i2: k, i3: t, fn: a, ln: b, i4: w

für Aufgabe 4 wäre es:

id: 4, i1: d, i2-n, i3: w, fn: c, ln: d, i4: x

der jobs-Tabelle und Tabelle user_table haben die gemeinsame Spalte userid. also wie Schreibe ich meine Abfrage zu tun, die weiter oben mit diesem gemeinsamen Spalte?

ich habe versucht, alle möglichen Dinge mit WÄHLEN und WO und UND und JOIN-und UNION und und GRUPPE und DURCH und schreiben die Namen der Tabellen sind getrennt von den Namen der Spalten und schreiben der Tabellen-und Spaltennamen zusammen mit einem Punkt dazwischen. ich kann einfach nicht finden, den richtigen Weg zu schreiben, diese Abfrage.

in diese Beispiele, die nicht arbeiten, ich bin nur versuchen, wählen Sie eine Sache, von der user_table Tisch und alles, was aus der Tabelle Aufträge das ist aber nicht die userid, aber ich brauche die Möglichkeit, wählen Sie mehrere Dinge aus der 2. Tabelle, falls erforderlich. ich will also wählen Sie alles, von der ersten Tabelle und nur bestimmte Dinge aus der zweiten Tabelle.

nicht funktioniert:

SELECT id, i1, i2, i3, i4 FROM jobs, user_table WHERE jobs.id = $id GROUP BY id

nicht funktioniert:

SELECT * from jobs where id = $id UNION SELECT i4 from user_table where userid = $userid
  • Bitte Lesen Sie SQL tutorials zu VERBINDEN.
  • SELECT jobs.*, user_table.* FROM jobs LEFT JOIN user_table ON jobs.user_id = user_table.userid - oder "INNER JOIN", je nach Ihren Anforderungen, der Ergebnisse (LEFT JOIN zeigt ALLE jobs, unabhängig davon, ob die Benutzer-id entspricht, wo, wie INNER JOIN erzwingt eine übereinstimmung zwischen den beiden)
  • das man auch nicht wählen Sie die richtigen Daten aus der 2ten Tabelle. es sei denn, ich bin nicht damit meine Variablen richtig? nach der Abfrage, wie mache ich Variablen alle Spalten aus verschiedenen Tabellen? wie das? $row = mysql_fetch_array($result); if($row) { $Datum = $row['Datum']; $imgurl = $row['img_url']; } --- das Datum ist aus der Tabelle Aufträge und der img ist vom user_table. bei mir läuft die ganze Sache, die img ist die gleiche für alle jobs und nicht zu ändern je nach dem Benutzer im Zusammenhang mit der Arbeit.
InformationsquelleAutor leoarce | 2013-10-04
Schreibe einen Kommentar