![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%) ![]() ![]() |
mam dwie tabele z wartościami liczbowymi. w jaki sposób można je przemnożyć czyli wezlyniepowiekszone z tabeli badanie pomnożyć przez wezlyniepowiekszone z tabeli choroby.
![]() ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 18 Dołączył: 5.02.2016 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
$q1 = zapytanie("SELECT `wezlyniepowiekszone` FROM `badanie` WHERE `id` = 'JAKIES ID'");
$row1 = $q1->fetchrow(); $q2 = zapytanie("SELECT `wezlyniepowiekszone` FROM `choroby` WHERE `id` = 'JAKIES ID'"); $row2 = $q2->fetchrow(); echo $row1['wezlyniepowiekszone'] * $row2['wezlyniepowiekszone']; Ewentualnie jeśli nie chcesz pobierać tylko jednego rekordu, to wrzuć wszystko w pętle, a na końcu pomnóż. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
@Niree trochu bez sensu pobierać to 2 zapytaniami.
@dentopolis co chcesz mieć w wyniku? Rozumiem że dla każdego rekordu z tabeli `badanie` chcesz mieć tyle rekordów wynikowych ile jest wpisów w `choroby`? Jeśli tak to: Kod SELECT `badania`.`wezlyniepowiekszone`*`choroby`.`wezlyniepowiekszone` FROM `badania`, `choroby` WHERE Takie zapytanie wygeneruje Ci iloczyn kartezjański czyli wynikiem będą wiersze połączone każdy z każdym. więc dla 1 i 2 wynik da 2 wiersze, dla 2 i 2 da 4 itd. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%) ![]() ![]() |
w wyniku potrzebuję nową tabelę w której wartościami są iloczyny tych samych objawów, nie każdy z każdym czyli:
wezłychłonneniepowiększone (z tabeli badanie) x wezłychłonneniepowiększone (z tabeli choroby) gorączka (z tabeli badanie) x gorączka (z tabeli choroby) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
w wyniku potrzebuję nową tabelę w której wartościami są iloczyny tych samych objawów, nie każdy z każdym czyli: wezłychłonneniepowiększone (z tabeli badanie) x wezłychłonneniepowiększone (z tabeli choroby) gorączka (z tabeli badanie) x gorączka (z tabeli choroby) I dokładnie to otrzymasz dzięki rozwiązaniom, które pokazał Niree i Pyton_000. Natomiast Pyton_000 miał na myśli, to, że nie wskazując, który wiersz z jednej tabeli ma być przemnożony z którym wierszem z drugiej tabeli, otrzymasz iloczyn kartezjański (każdy z każdym - ale wiersz, a nie kolumny). Twoim pytaniem jest jak przemnożyć wiersze, a nie tabele. Ale nadal nie wiadomo na jakiej zasadzie - który wiersz z którym. Wygląda na to, że chcesz przemożyć wiersz dotyczący pacjenta z tabeli badania ze wszystkimi wierszami z tabeli choroby. Jeśli tak jest, to do zapytania Pyton_000 dodajesz warunek na id pacjenta. De facto otrzymasz i tak iloczyn kartezjański, ale ograniczony poprzez wybór z tabeli badania. -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%) ![]() ![]() |
jak więc powinien wyglądać przykładowy kod wg Niree? (mimo wszystko wolę dłuższe ale takie rozwiązanie).
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Które rekordy dla jednego pacjenta z obydwu tabel chcesz mnożyć?
-------------------- |
|
|
![]() ![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%) ![]() ![]() |
efektem ma być taka tabela jak poniżej czyli choroba, nazwa łacińska, punkty (iloczyn objawu z tabeli choroby * objawu z tabeli badania), objawy różniące kolejne prawdopodobne choroby z pierwszym najbardziej prawdopodobnym
![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Robisz więc tak jak opisałem: http://forum.php.pl/index.php?s=&showt...t&p=1212968
Warunek ma być na id pacjenta w tabeli badanie. Otrzymasz X rekordów gdzie X=1*Y, a Y to liczba rekordów z chorobami. Nie napisałeś skąd się bierze suma. Ale zakładam, że to suma wszystkich iloczynów, co ma wskazywać na większą szansę diagnozy danej choroby. Tak więc musisz posumować wszystkie iloczyny. Tu przydałaby się inna budowa obydwu tabel, podobnie jak radzili Ci koledzy w przypadku tabeli ze stanem uzębienia. -------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%) ![]() ![]() |
udało mi się z tabelą tak jak chciałem oprócz różnych objawów kolejnych chorób względem najbardziej prawdopodobnej. jak do tego podejść?
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 8.07.2025 - 20:51 |