SQL-kysely useammasta taulusta

Viestiketju alueella 'Ohjelmointi' , aloittaja Argos, 18.12.2017.

  1. Argos

    Rekisteröitynyt:
    18.12.2017
    Viestejä:
    2
    Miten toteutan kyselyn kun on samanmuotoista dataa useammassa taulussa ja tulisi saada tietoon eri tauluista henkilön viimeisin päivämäärä. Eli millä kyselyllä saan tietoon, että Pekalla on viimeisin päivämäärä on 4.1.2017 taulusta 3?

    Taulurakenne lyhyesti siis näin:

    Taulu1:
    - Henkilö (Pekka)
    - PVM (1.1.2017)

    Taulu 2:
    - Henkilö (Pekka)
    - PVM (2.1.2017)

    Taulu 3:
    - Henkilö (Pekka)
    - PVM (4.1.2017)

    Taulu 4:
    - Henkilö (Pekka)
    - PVM (3.1.2017)
     
  2. Collusion

    Rekisteröitynyt:
    26.04.2002
    Viestejä:
    2 286
  3. peksa

    Rekisteröitynyt:
    24.11.2001
    Viestejä:
    532
    Kokeile toimiiko, jos laitat select union select jne sulkuihin ja otat siitä selectin ja sitten max(pvm). Ainakin oraclella voi tehdä sisäkkäisen selectin.
     
  4. Argos

    Rekisteröitynyt:
    18.12.2017
    Viestejä:
    2
    SELECT henkilö,
    (
    SELECT MAX(paiva) FROM
    (
    SELECT PVM as paiva FROM Taulu1
    UNION
    SELECT PVM as paiva FROM Taulu2
    UNION
    SELECT PVM as paiva FROM Taulu3
    UNION
    SELECT PVM as paiva FROM Taulu4
    ) as da
    ) as Viimeisin_pvm
    FROM Taulu1

    Mikä tässä menee pieleen? Palauttaa ihan vääriä päivämääriä.
     
  5. Jupuna

    Rekisteröitynyt:
    24.09.2000
    Viestejä:
    850
    SQL Serverissä esim. näin

    Koodi:
    create table tau1 (nimi varchar(9), paiva date)
    create table tau2 (nimi varchar(9), paiva date)
    create table tau3 (nimi varchar(9), paiva date)
    
    insert into tau1 values('janne', '2017-12-29')
    insert into tau2 values('janne', '2017-12-24')
    insert into tau2 values('janne', '2017-12-23')
    insert into tau3 values('janne', '2017-12-20')
    
    select nimi, max(paiva) from
    (
    select * from tau1
    union
    select * from tau2
    union
    select * from tau3
    ) a
    group by nimi
     
    Viimeksi muokattu: 28.12.2017

Jaa tämä sivu

Alibi
Anna
Deko
Dome
Erä
Hymy
Kaksplus
Kippari
Kotilääkäri
Kotiliesi
Koululainen
Ruoka.fi
Parnasso
Seura
Suomen Kuvalehti
TM Rakennusmaailma
Tekniikan Maailma
Vauhdin Maailma
Golfpiste
Vene
Nettiauto
Ampparit
Plaza
Muropaketti