dwa zapytania do bazy jak zrobić |
dwa zapytania do bazy jak zrobić |
20.11.2018, 17:36:14
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 16.03.2018 Ostrzeżenie: (0%) |
Witam połączenie do bazy danych firebirda php 5
Teraz dane wyświetlają mi się np. pz1 numer a w nim pozycja index i znowu dokument pz1 numer i index A jak zrobić żeby się wyświetlał pz1 i wszystkie indeksy w dokumencie Teraz dane wyświetlają mi się formie np. Faktura zakupu: 00000360/WLN/18/F Firma INTER Dokument:PZ1/1/1/2018 Index: 8800-015-055 Nazwa FILTR OLEJU ilość 1. szt 58.14(sztuka cena) wartość 58.14 Faktura zakupu: 00000360/WLN/18/F Firma INTER Dokument:PZ1/1/1/2018 Index: 6657-022-015 Nazwa FILTR KABINY ilość 1. szt 34.93(sztuka cena) wartość 34.93 Faktura zakupu: 00000360/WLN/18/F Firma INTER Dokument:PZ1/1/1/2018 Index: 8800-023-200 Nazwa FILTR POWIETRZA ilość 1. szt 50.91(sztuka cena) wartość 50.91 Faktura zakupu: 00000360/WLN/18/F Firma INTER Dokument:PZ1/1/1/2018 Index: 0631-935-375 Nazwa LOZYSKO KOLA ilość 1. szt 55.93(sztuka cena) wartość 55.93 Faktura zakupu: 00000360/WLN/18/F Firma INTER Dokument:PZ1/1/1/2018 Index: 0631-935-375 Nazwa LOZYSKO KOLA ilość 1. szt 65.18(sztuka cena) wartość 65.18 Faktura zakupu: ASYG 126455/1 Firma INTER Jak zrobić 2 zapytania do bazy żeby dane się wyświetlały w formie poniżej Chce uzyskać taki efekt a nie jak wyżej powtarzanie się nazwy dokumentu PZ1 Faktura zakupu: 00000360/WLN/18/F Firma INTER Dokument:PZ1/1/1/2018 Index: 8800-015-055 Nazwa FILTR OLEJU ilość 1. szt 58.14(sztuka cena) wartość 58.14 Index: 6657-022-015 Nazwa FILTR KABINY ilość 1. szt 34.93(sztuka cena) wartość 34.93 Index: 8800-023-200 Nazwa FILTR POWIETRZA ilość 1. szt 50.91(sztuka cena) wartość 50.91 Index: 0631-935-375 Nazwa LOZYSKO KOLA ilość 1. szt 55.93(sztuka cena) wartość 55.93 Index: 0631-935-375 Nazwa LOZYSKO KOLA ilość 1. szt 65.18(sztuka cena) wartość 65.18 Gdzie wstawić drugie zapytanie żeby w pierwszym był nazwa i numer PZ1 a w drugim zapytaniu Wszystkie indeksy jak to zrobić . Domyślam się ze w 2 zapytaniach
|
|
|
24.11.2018, 03:01:40
Post
#2
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Jeśli masz np. taką tabelę w bazie:
Kod +----+--------------+-------------+------+ | id | col1 | col2 | col3 | +----+--------------+-------------+------+ | 1 | 00000360 | wln | 18 | | 2 | pz1 | 1 | 1 | | 3 | 8800-015-055 | filtr oleju | 1 | | 4 | 00000360 | wln | 18 | | 5 | pz1 | 1 | 1 | | 6 | 8800-015-055 | filtr oleju | 1 | | 37 | x | y | 2 | +----+--------------+-------------+------+ , to po np. takim zapytaniu:
dostaniesz taki rezultat: Kod +----+--------------+-------------+------+ | id | col1 | col2 | col3 | +----+--------------+-------------+------+ | 1 | 00000360 | wln | 18 | | 2 | pz1 | 1 | 1 | | 3 | 8800-015-055 | filtr oleju | 1 | | 37 | x | y | 2 | +----+--------------+-------------+------+ Żeby nie było nieporozumień, to najlepiej byłoby gdybyś grupował rezultat po wszystkich kolumnach, ponieważ dane mogą się powtórzyć w którejś kolumnie, przykład:
Kod +----+--------------+-------------+------+ | id | col1 | col2 | col3 | +----+--------------+-------------+------+ | 1 | 00000360 | wln | 18 | | 2 | pz1 | 1 | 1 | | 3 | 8800-015-055 | filtr oleju | 1 | | 4 | 00000360 | wln | 18 | | 5 | pz1 | 1 | 1 | | 6 | 8800-015-055 | filtr oleju | 1 | | 8 | pz1 | y | 2 | +----+--------------+-------------+------+
Kod +----+--------------+-------------+------+ | id | col1 | col2 | col3 | +----+--------------+-------------+------+ | 1 | 00000360 | wln | 18 | | 2 | pz1 | 1 | 1 | | 3 | 8800-015-055 | filtr oleju | 1 | +----+--------------+-------------+------+
Kod +----+--------------+-------------+------+ | id | col1 | col2 | col3 | +----+--------------+-------------+------+ | 1 | 00000360 | wln | 18 | | 2 | pz1 | 1 | 1 | | 3 | 8800-015-055 | filtr oleju | 1 | | 8 | pz1 | y | 2 | +----+--------------+-------------+------+ Nie wiem, czy jest jakiś krótszy zapis niż ten:
Najlepiej chyba byłoby grupować po kolumnie, która nie ma primary key, czy jakiegoś innego nie unikatowego klucza, najczęściej nie id. Poczytaj o tym na "swojej" dokumentacji Firebird: https://www.firebirdsql.org/pdfmanual/html/...e-aggrfunc.html Napisałem tylko przykład, bo ja piszę w MySQL, a nie w tej bazie danych, co Ty. Myślę, że wcielisz ten przykład do swojego projektu. Proponuję, abyś przesiadł się na PHP 7, ponieważ teraz to już jest standard. W wersji mniejszej niż 7 nie ma pewnych "features" (cech). Ten post edytował Neutral 24.11.2018, 03:24:02 |
|
|
Wersja Lo-Fi | Aktualny czas: 26.09.2024 - 10:35 |