1

Temat: Rozbicie jednej kolumny na 3

Witam.. Mam kolejny problem, mianowicie mam w tabeli kolumne data a musze stworzyc zapytanie dodajace 3 kolumny dodatkowe (ROK, MIESIAC, DZIEN) i w kazdej z tych kolumn musza byc dane z tej jednej kolumny. Prosze o Pomoc:|

Dziekuje i Pozdrawiam TidoN:)

2

Odp: Rozbicie jednej kolumny na 3

Ostatnio edytowany przez rski (2009-05-14 15:57:36)

3

Odp: Rozbicie jednej kolumny na 3

Dzięki smile

4

Odp: Rozbicie jednej kolumny na 3

Tak samo tu sa podane przyklady na konkretnych datach a nie na kolumnach, a jak zamieniam date na nazwe kolumny to wyskakuje blad.

5

Odp: Rozbicie jednej kolumny na 3

Konkretniej prosze smile. Pokaz strukture tabeli.

6

Odp: Rozbicie jednej kolumny na 3

Np.

SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 16

Podaje wynik z konkretnej daty. A u mnie musi poberac dzien z kolumny.

7

Odp: Rozbicie jednej kolumny na 3

DATA_ZATR  (000-00-00) z tej kolumny trzeba pobrac dane. Oraz dodalem te 3 nowe kolumny jak radziles (ROK, MIESIAC, DZIEN) , teraz tylko trzeba pobrac dane w wkleic w odpowiednie miejsca!

8

Odp: Rozbicie jednej kolumny na 3

spróbuj date_partem

date_part('day', nazwa_kolumny)
date_part('month', nazwa_kolumny)
date_part('year', nazwa_kolumny)

Ostatnio edytowany przez rski (2009-05-18 11:53:00)

9

Odp: Rozbicie jednej kolumny na 3

A gdzie to umiescic w zapytaniu

select IMIE, NAZWISKO, ROK, MIESIAC, DZIEN from pracownicy;


np ROK(date_part('day, DATA_ZATR)), ...  ?

10

Odp: Rozbicie jednej kolumny na 3

no jak chcesz 'updateować

update pracownicy set
rok=date_part('year', data_zatr),
miesiac=date_part('month', data_zatr),
dzien=date_part('day', data_zatr)

11

Odp: Rozbicie jednej kolumny na 3

SQL execution error #1305. Response from the database:
FUNCTION tidon.date_part does not Exist.

taki error wychodzi..

12

Odp: Rozbicie jednej kolumny na 3

chyba to date_part nie dziala.. bo przypisuje normalne zmienne Rok= '2006' i dziala..

13

Odp: Rozbicie jednej kolumny na 3

A jakiego masz postgresa?

14

Odp: Rozbicie jednej kolumny na 3

Zapytania tworze w MySQL Front.

15

Odp: Rozbicie jednej kolumny na 3

Zrobilem:)

select IMIE, NAZWISKO,EXTRACT(YEAR FROM DATA_ZATR) AS ROK, EXTRACT(MONTH FROM DATA_ZATR) AS MIESIAC, EXTRACT(DAY FROM DATA_ZATR) AS DZIEN from pracownicy;

DZieki bardzo!

16

Odp: Rozbicie jednej kolumny na 3

To nastepne zadanie tongue mam wyswietlic ilosc dni na ktore samochod zostal wypozyczony.. Naskrobalem cos i moze latwiej bedzie poprawic moje wiec pokazuje:

select NAZWISKO, NR_WYPOZYCZENIA, DATA_WYP, DATA_ODD, date DATA_ODD - date DATA_WYP as DNI from klienci JOIN wypozyczenia;

data_ODD - oddania
data_WYP - wypozyczenia

Chcialem odjac date wyp od daty odd zeby wyszlo na ile dni byl wypozyczony.

Podrawiam

17

Odp: Rozbicie jednej kolumny na 3

Wzielem ten kod i usunelem slowa "date" i wyszlo tylko w tabeli DNI wyszedl taki wynik:
101.0000000000000000000000000000000 przy okresie miesiaca gdzie powinno wyjsc 30.

18

Odp: Rozbicie jednej kolumny na 3

19

Odp: Rozbicie jednej kolumny na 3

DZieki! jest wszystko ok! A mozesz mi powiedziec co w tym zapytaniu jest zle?:

select NAZWISKO, CENA_JED, DATA_ODD-DATA_WYP * CENA_JED >= '400' AS PLACA  from pracownicy JOIN wypozyczenia group by NAZWISKO;

Musze odjac dni i pomnozyc je razy cene jednego dnia. Wyswietlic te ktore przekraczaja 400zl. Probowalem tez DATEDIFF() ale nie dziala.

20

Odp: Rozbicie jednej kolumny na 3

Wiesz co chyba musisz troche pouczyć się, bo masz problemy ze składnią. Wiesz co robi GROUP BY? Słyszałeś kiedyś o klauzuli WHERE?

21

Odp: Rozbicie jednej kolumny na 3

no wlsnie widze:P MySQL'a mam od pol roku ale masz racje! Musze troszke poczytac. Powinno byc order by smile

Ostatnio edytowany przez tidon (2009-05-19 10:18:48)

22

Odp: Rozbicie jednej kolumny na 3

Juz zrobilem:) Dodalem nowa kolumne i updatowalem ja.. I teraz dziala:

select NAZWISKO, CENA_JED, PLACA_MIES from pracownicy JOIN wypozyczenia where PLACA_MIES >= '400' order by NAZWISKO;

smile