Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie Perspektywy
Forum PHP.pl > Forum > Bazy danych > MySQL
k2n
Mama nastepujacy problem:

mam tabele

Wplaty
kwota,miesiac,rok, data,user_id,superuser_id

Wydatki
kwota,opis,data,superuser_id

chce stworzyc taka perspektywe:

Zestawienie
data,opis, kwota,superuser_id

wyjasnienie:
ma to byc baza w ktorej trzymam rozniczenia sieci lokalnej.
w tabeli wplaty trzymam informacje o oplatach abonamentu przez userow (userzy przedstawia klucz user_id)
superuserzy to ludzie ktorzy przyjmuja wplaty
wiec przy wplatach i wyplatach chce aby bylo zapamietane kto przyjmowal wlate (superuser_id)

chcialbym aby sperspektywa przedtawiala cale zestawienie

z tabeli wydatki maja wprost wchodzic kwota, data, opis i superuser_id
a z tabeli wplaty ma wprost wchodzic data, kwata,superuser_id a opis ma sie tworzyc z komurek user_id, miesiac i rok

tabele wplaty i wydatki juz mam
nie wiem jak stworzyc ta perspektywe
prosze o pomoc
Skobi
tak powinno zadzialac:

  1. CREATE VIEW zestawienie AS SELECT
  2. w.kwota, w.DATA, w.opis, w.superuser_id,
  3. wp.DATA AS data_wplaty, wp.kwota AS kwota_wplaty,
  4. CONCAT_WS(', ', w.user_id, w.miesiac, w.rok) AS opis_wydatki
  5. FROM wydatki w LEFT OUTER JOIN wplaty wp ON w.superuser_id = wp.superuser_id



a tu masz link do tworzenia perspektyw:

http://dev.mysql.com/doc/refman/5.0/en/create-view.html
k2n
dzieki za szybka odowiedz ale niestty nie jest to dokladnie o co mi hcodzilobo dubluje mi to kolumny,
mam np kolumne kwota i kwota wplaty, a chcilbym
aby kwoata z tych obu tabel splywala do kolumny kwota w perspektywie
czyli jak mam 3 wpisy w wydatkach i 4 we wplatach to zebym w perspektywie mial 7 kolumn

przyklad

tabela wplaty:
kwota____ miesiac___rok______data_______________ User_id___Superuser_id
30_______ 1________ 2006_____ 02.10.2006_________ 8________ 1
30_______ 2________ 2006_____ 03.10.2006_________ 20_______ 2
30_______ 3________ 2006_____ 15.10.2006_________ 23_______ 1

tabela wydatki:
kwota____ opis_________Data______________Superuser_id
-300_____ Wydatek1____30.09.2006_________1
-100_____ Wydatek2____01.10.2006_________2
-70______ Wydatek3____08.10.2006_________2
-50______ Wydatek4____10.10.2006_________1

perspektywa zapytanie ktora chce utworzyc:
data_______________opis_________kwota_____Superuser_id
30.09.2006_________ Wydatek1____-300______1
01.10.2006_________ Wydatek2____-100______2
02.10.2006_________ 8,1,2006_____30________1
03.10.2006_________ 20,2,2006____30________2
08.10.2006_________ Wydatek3____-70_______2
10.10.2006_________ Wydatek4____-50_______1
15.10.2006_________ 23,3,2006____30________1
Skobi
nie ma zadnego problemu zeby to osiagnac:

  1. CREATE VIEW zestawienie AS SELECT
  2. w.DATA, w.opis, w.kwota, w.superuser_id
  3. FROM wydatki w
  4. UNION
  5. SELECT
  6. wp.DATA, CONCAT_WS(',', wp.user_id, wp.miesiac, wp.rok),
  7. wp.kwota, wp.superuser_id
  8. FROM wplaty wp


nie sprawdzalem, ale powinno byc ok
k2n
dziekuje za podpowiedz
oto moje pelne rozwiazanie

  1. CREATE VIEW tally AS SELECT o.date, o.description, o.amount, o.superuser_id
  2. FROM outlay o
  3. UNION SELECT p.date,
  4. CONCAT( 'Wplata: ', u.name, ' za miesiac ',
  5. cast( p.mounth AS char(2) ) , ' ', cast( p.year AS char(4) ) ) ,
  6. p.amount, p.superuser_id
  7. FROM payments p, users u
  8. WHERE u.user_id = p.user_id
  9. ORDER BY date DESC


angielkie opowiedniki wczesniejszych pol (przepraszam ze zmienilem ale tak mialem oryginalnie w bazie)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.