Nowe posty

xx Dystrybucja pod HP Omen (6)
Wczoraj o 23:30:08
xx [Poradnik] Wyszukiwanie Sterowników (2)
Wczoraj o 21:08:23
lamp Problem z Linux Lite po instalacji (0)
Wczoraj o 19:50:30
xx Ile pingwinów? (1)
Wczoraj o 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

Autor Wątek: Piszę program, chcecie pomóc?  (Przeczytany 2089 razy)

Rabarbar

  • Gość
Piszę program, chcecie pomóc?
« dnia: 2005-05-28, 00:35:05 »
Wiem ze to jest forum linuxowe ale mam problem ze znalezieniem odpowiednika dla tematu mysql\\'a.Wiec mam dwie prosby:
1.Jesli ktos zna linka do dobrego forum na temat MySql\\'q to prosze podac.
2.Jesli znasz odpowiedz na ponizszy probelm, rowniez prosze o pomoc ;).
A wiec tak.Mam Tabele o nazwie rachunek:
----------------------------------------------------------
Data           | Papier  |  Ilosc   |    Wartosc  |Gotowka
---------------------------------------------------------
2005-05-25 |  comp   |   226    |  26500     |    77.34
----------------------------------------------------------
2005-05-25 |  tpsa     |  485    |   9200      |  NULL  
----------------------------------------------------------
2005-05-27 |  comp   |  226    |   28000    |   3.45    
----------------------------------------------------------
2005-05-27 |  elektrim|  950    |   5200      |   NULL
----------------------------------------------------------

I teraz chce wyliczyc roznice pomiedzy wartoscia akcji+gotowki na koncie pomiedzy dniem 2005-05-25 a 2005-05-27.
Jesli licze sume dla jednego dnia to wszystko jest ok a robie to tak:
select sum(Wartosc)+Gotowka from rachunek where data = \\'2005-05-25\\'; - dzieki czemu zostaje wyswietlony poprawny wynik.
Wydawalo mi sie ze jesli uzyje ponizszego zapytania:
select sum(Wartosc)+Gotowka from rachunek where Data=\\'2005-05-25\\' - select sum(Wartosc)+Gotowka from rachunek where Data=\\'2005-05-27\\';
bedzie ok ale niestety nie dziala :/
Ktos pomoze?

a7v8x

  • Gość
Piszę program, chcecie pomóc?
« Odpowiedź #1 dnia: 2005-05-28, 10:33:30 »
2005-05-28 00:35:05 Rabarbar napisał:

> Wiem ze to jest forum linuxowe ale mam problem ze znalezieniem odpowiednika dla tematu
 > mysql\\'a.Wiec mam dwie prosby:
 > 1.Jesli ktos zna linka do dobrego forum na temat MySql\\'q to prosze podac.

dobrze jest śledzić jakąś grupe dyskusyjną np. pl.comp.bazy-danych

 > 2.Jesli znasz odpowiedz na ponizszy probelm, rowniez prosze o pomoc ;).

 > A wiec tak.Mam Tabele o nazwie rachunek:
 > ----------------------------------------------------------
 > Data           | Papier  |  Ilosc   |    Wartosc  |Gotowka
 > ---------------------------------------------------------
 > 2005-05-25 |  comp   |   226    |  26500     |    77.34
 > ----------------------------------------------------------
 > 2005-05-25 |  tpsa     |  485    |   9200      |  NULL  
 > ----------------------------------------------------------
 > 2005-05-27 |  comp   |  226    |   28000    |   3.45    
 > ----------------------------------------------------------
 > 2005-05-27 |  elektrim|  950    |   5200      |   NULL
 > ----------------------------------------------------------
 >
 > I teraz chce wyliczyc roznice pomiedzy wartoscia akcji+gotowki na koncie pomiedzy dniem
 > 2005-05-25 a 2005-05-27.
 > Jesli licze sume dla jednego dnia to wszystko jest ok a robie to tak:
 > select sum(Wartosc)+Gotowka from rachunek where data = \\'2005-05-25\\'; - dzieki czemu zostaje
 > wyswietlony poprawny wynik.
 > Wydawalo mi sie ze jesli uzyje ponizszego zapytania:
 > select sum(Wartosc)+Gotowka from rachunek where Data=\\'2005-05-25\\' - select sum(Wartosc)+Gotowka
 > from rachunek where Data=\\'2005-05-27\\';
 > bedzie ok ale niestety nie dziala :/
 > Ktos pomoze?

Myslę, że można wykonać to na dwa sposoby:
1. Wykonać dwa oddzielne zapytania i odjąć jeden wynik od drugiego - ale wydaje się to trochę nieeleganckie.
2. Wykonać zapytanie zagnieżdżone:

MySQL od wersji 4.1 obsługuje zapytania zagnieżdżone, tzn. zapytanie w zapytaniu. Jeżeli zapytanie wewnętrzne zwróci poprawną wartość, to zostanie wykonane zapytanie zewnętrzne. Dla Ciebie będzie to rozwiązanie optymalne.

A teraz kod:

select sum(Wartosc)+Gotowka - (select sum(Wartosc)+Gotowka from rachunek where Data=\\'2005-05-27\\') from rachunek where data = \\'2005-05-25\\';

To powinno zadziałać. Pamiętaj jednak, że takie zapytania działają dużo wolniej niż normalne.
Zapytanie zagnieżdżone musi być ujęte w nawiasy!

Pozdrawiam
ps. Pisałem to z głowy, więc jak będą jeszcze jakieś problemy z tym zapytaniem - to pisz

Rabarbar

  • Gość
Piszę program, chcecie pomóc?
« Odpowiedź #2 dnia: 2005-05-28, 18:57:10 »
:( no to klapa. Moja wersja mysql\\'a to 4.0.20 wiec nic z tego.Chcialem zrobic upgrade\\'a na ver 4.1 ale w manualu jest to bardzo ciezko opisane wiec odpuszcze i pobawie sie na obecnej wersji ktora posiadam.
Dzieki za odpowiedz.

Rabarbar

  • Gość
Piszę program, chcecie pomóc?
« Odpowiedź #3 dnia: 2005-06-02, 21:36:53 »
Wrzucilem sobie nowszego MySql\\'a na windowsie.Rzeczywiscie, podzapytania sa obsugiwane w wersji od 4.1.
Teraz jest oki.

gieros

  • Gość
Piszę program, chcecie pomóc?
« Odpowiedź #4 dnia: 2005-06-02, 23:59:26 »
polecam forum.php.pl
mimo że o php to na temat mysqla też można znaleć trochę i się dowiedzieć

a7v8x

  • Gość
Piszę program, chcecie pomóc?
« Odpowiedź #5 dnia: 2005-06-03, 00:33:28 »
2005-06-02 21:36:53 Rabarbar napisał:

> Wrzucilem sobie nowszego MySql\\'a na windowsie.Rzeczywiscie, podzapytania sa obsugiwane w wersji
 > od 4.1.
 > Teraz jest oki.
 >

Cieszę się!!!

  • Gość
Piszę program, chcecie pomóc?
« Odpowiedź #6 dnia: 2005-05-27, 20:23:41 »
Mam w projekcie kilka z narzędzi. Aktualnie piszę narzędzia "Gnome Xorg Configurator" oraz Console Xorg Configurator.

To projekt aplikacji dla X`ów oraz konsoli. Umozliwia intuizyjną konfigurację serwera X, na zasadzie wybierania modeli urządzeń i najprościej przygotowanych opcji (dla newbie) oraz zaawansowanych opcji.

Główny cel, to mozliwość szybkiej modyfikacji tylko jednego urządzenia - np. gdy monitor wymienimy w skutek awarii. Szybkie przełączanie ustawień i prosta selekcja sprzętu, np:

Monitor Daytek 1531D - bez zbędnych pytań serwer sam ustawia optymalne opcji. Użytkownik wybiera jeszcze np. rozdzielczość ekranu.

Aby napisać to oprogramowanie muszę stworzyć bazę danych urządzeń. Jednak nie mam pojęcia jakie opcje im się ustawia, dlatego proszę wszystkich chętnych do wysyłania mi na maila własnych ustawień z nazwami urządzeń wg wzoru:

grafika nVidia Riva128, monitor 15" Daytek 1531D i zawartość pliku xorg.conf :-) Oczywiście proszę uprzednio sprawdzić na stronie internetowej (podanej na dole), czy Wasza konfiguracja już została dodana - jak nie ma urządzenia na liście, proszę o wysłanie na maila :-) Aktualizacja raz dziennie, a może i 2 - zależy jak dużo Was będzie pisać.

Baza będzie aktualizowana i możliwa do pobrania osobno ze strony. Oczywiście będzie otwarta i każdy będzie mógł wykonać podobny konfigurator w QT, czy na innych bibliotekach, korzystając z tej bazy.

Z góry dziękuję

strona: http://netseal.w.interia.pl
mail: (na stronie www)