Ergebnis 1 bis 6 von 6

Thema: Frage zu SQL Abrage

  1. #1
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.492

    Standard 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?

  2. #2
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.492

    Standard

    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?

  3. #3
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    539

    Standard

    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'
    Grüße
    Alex

  4. #4
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.492

    Standard

    Zitat Zitat von 07alex07 Beitrag anzeigen
    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

  5. #5
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.492

    Standard

    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.
    Geändert von Acta (03.07.2018 um 08:38 Uhr)

  6. #6
    Contao-Nutzer
    Registriert seit
    09.07.2018.
    Beiträge
    3

    Standard

    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

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •