-
Frage zu SQL Abrage
Hallo Community,
ich stehe gerade ein wenig auf dem Schlauch:
Ich habe eine Datenbank in der sind zwei Tabellen enthalten:
_spieler und _verein
Ich benötige aus _spieler ein paar Angaben sofern in _verein eine Bedingung gegeben ist:
Code:
SELECT `id`, `vorname`, `nachname`, `kunstname`, `geburtstag`, `verein_id`, `position`, `nation` FROM `_spieler`
SELECT `id`, `name` FROM `_verein` WHERE `liga_id` = 1
Benötigt aus _spieler:
`id`, `vorname`, `nachname`, `kunstname`, `geburtstag` `position`, `nation`
Benötigt aus _verein:
`name`
Bedingung:
verein_id (_spieler) = id (_verein) where liga_id` = 1
Kann mir da jemand helfen?
-
SELECT _spieler.id, _spieler.vorname
Code:
FROM `_spieler`
INNER JOIN _verein ON _spieler.verein_id = _verein.id
WHERE liga_id = '1'
Soweit funktioniert die Abfrage nach der Bedingung. Wie bekomme ich aber noch die Werte aus _s_verein.name?
-
z.B. so
Code:
SELECT s.id, s.vorname, v.name
FROM _spieler AS s
INNER JOIN _verein AS v ON s.verein_id = v.id
WHERE v.liga_id = '1'
-
Zitat:
Zitat von
07alex07
z.B. so
Code:
SELECT s.id, s.vorname, v.name
FROM _spieler AS s
INNER JOIN _verein AS v ON s.verein_id = v.id
WHERE v.liga_id = '1'
Vielen Dank funktioniert echt super!
Code:
SELECT s.id, s.vorname, s.nachname, s.kunstname, s.geburtstag, s.position, s.nation, v.name, l.name, s.w_staerke
FROM _spieler AS s
INNER JOIN _verein AS v ON s.verein_id = v.id
INNER JOIN _liga AS l ON v.liga_id = l.id
WHERE v.liga_id = '1' OR v.liga_id = '2'
ORDER BY l.name, v.name, s.position
-
Ich bräuchte mal wieder euer Fachwissen:
Ich habe eine Spalte in einer MYSQL DATENBANK
Dort steht für TITEL immer das Gleiche Eintrag "HAUS" drin:
Nun Würde ich gerne den Titel von allen Zeilen jeweils mit einer Zahl erweitern.
BeispieL
Zeile 1 HAUS 1
Zeile 2 HAUS 2
....
Code:
UPDATE `_labels` SET `title` = `title` +1
Macht leider aus HAUS nur "1" in jede Zeile
Bei title handelt es sich um ein text-Feld.
-
Fraglich an der Stelle, wieso du dies "fest" in der DB haben möchtest, aber es wird schon einen Grund haben.
Dynamisch geht es unter MSSQL mit ROW_NUMBER() recht schön. Mit MySQL fällt mir dazu nur folgendes ein.
Dabei wird "Rank" immer um eins hochgezählt.
Code:
SELECT t.*,
@rownum := @rownum + 1 AS rank
FROM YOUR_TABLE t,
(SELECT @rownum := 0) r
Beim Update zickt MySQL hier etwas...aber ein Insert hat bei mir geklappt.
Code:
INSERT INTO `_labels` SELECT temp.`id`, temp.`title_new`
FROM (SELECT t.`id`, t.`title`,
CONCAT( `title`, @rownum := @rownum + 1 ) `title_new`
FROM _labels t,
(SELECT @rownum := 0) r) temp