Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Relacje między tabelami
casperii
post
Post #1





Grupa: Zarejestrowani
Postów: 681
Pomógł: 28
Dołączył: 14.08.2014

Ostrzeżenie: (0%)
-----


zachodzę sobie w głowę jak powinno wyglądać dobrze napisane zapytanie do mysqla:
Są dwie tabele w których jest to samo ID, chce wyświetlić wszystkie rekordy , ale jeśli w drugiej tabeli jest to samo ID wyświetli się coś extra (np podświetlę , pogrubie sobie etc).

  1. SELECT * FROM tabela1, tabela 2 WHERE tabela1.id = tabela2.id


wyświetli nam tylko te gdzie relacja pomiędzy niby jest spójna.
Natural Join też odpada.

Dla samego połączenia tabel wystarczy:
  1. SELECT * FROM tabela1, tabela 2


a jak bym chciał w miejsce gwiazdki zrobić alias As podswietlenie ?

Czyżby tak:
  1. SELECT `tabela1`.`id` =`tabela2`.`id` AS `podswietlenie` FROM tabela1, tabela 2



Ten post edytował casperii 11.06.2017, 19:06:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


dodajesz aliasy w zapytaniu w SELECT dla nazwisk
Go to the top of the page
+Quote Post
rufuspl
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 17.06.2017

Ostrzeżenie: (0%)
-----


Cytat(Pyton_000 @ 17.06.2017, 15:39:55 ) *
dodajesz aliasy w zapytaniu w SELECT dla nazwisk


Nie bardzo wiem jak a i szukanie rozwiązania nie przyniosło oczekiwanych skutków (IMG:style_emoticons/default/sad.gif)

Mam na tą chwilę coś takiego

  1. <?php
  2. include('connect.inc');
  3. $id=$_GET['id'];
  4. mysqli_set_charset($db_lnk, "utf8");
  5. $zapytanie=mysqli_query($db_lnk, "SELECT
  6. pacjent.id_pac,
  7. pacjent.pac_nazwisko,
  8. pacjent.pac_imie,
  9. pacjent.pesel,
  10. pacjent.ks_gl_nr,
  11. pacjent.ks_gl_rok,
  12. pacjent.data_zab,
  13. sl_jos_kier.id_jos_kier,
  14. sl_jos_kier.jos_nazwa,
  15. sl_status.id_status,
  16. sl_status.stat_nazwa,
  17. sl_tryb_lecz.id_tryb_lecz,
  18. sl_tryb_lecz.tryb_nazwa,
  19. sl_icd9.id_icd9,
  20. sl_icd9.icd9_kod,
  21. personel.id_personel,
  22. personel.per_imie,
  23. personel.per_nazwisko
  24. from pacjent left join sl_jos_kier using (id_jos_kier)
  25. left join sl_status using (id_status)
  26. left join sl_tryb_lecz using (id_tryb_lecz)
  27. left join sl_icd9 using (id_icd9)
  28. left join personel on pacjent.id_personel_lek_kier=personel.id_personel
  29. where pacjent.id_pac=$id");
  30. while($pole=mysqli_fetch_assoc($zapytanie)){
  31.  
  32. /* przyciski */
  33. echo "<form><input class=\"button\" type=\"button\" value=\"Anestezjolog\" onclick=\"window.location.href='znieczulenie.php?id=$pole[id_pac]'\">";
  34. echo "<input class=\"button\" type=\"button\" value=\"Operator\" onclick=\"window.location.href='opis.php?id=$pole[id_pac]'\">";
  35. echo "<input class=\"button\" type=\"button\" value=\"Zespół operacyjny\" onclick=\"window.location.href='zespol.php?id=$pole[id_pac]'\">";
  36. echo "<input class=\"button\" type=\"button\" value=\"WYDRUK\" onclick=\"window.print()\"></form>";
  37. /* --------- */
  38. echo '<table id=\"zab\" border=\"1\"><tbody>';
  39. echo '<tr>';
  40. echo '<td>Nr zabiegu:</td><td width=\"200px\">'.$pole['id_pac'].'</td>';
  41. echo '</tr><tr>';
  42. echo '<td>Nr Ks. Gł.:</td><td>'.$pole['ks_gl_nr'].' / '.$pole['ks_gl_rok'].'</td>';
  43. echo '</tr><tr>';
  44. echo '<td>Pacjent:</td><td>'.$pole['pac_imie'].' '.$pole['pac_nazwisko'].'</td>';
  45. echo '</tr><tr>';
  46. echo '<td>PESEL:</td><td>'.$pole['pesel'].'</td>';
  47. echo '</tr>';
  48. echo '</tr><tr>';
  49. echo '<td>Data zabiegu:</td><td>'.$pole['data_zab'].'</td>';
  50. echo '</tr>';
  51. echo '</tr><tr>';
  52. echo '<td>Rodzaj leczenia:</td><td>'.$pole['tryb_nazwa'].'</td>';
  53. echo '</tr>';
  54. echo '</tr><tr>';
  55. echo '<td>Jednostka kier.:</td><td>'.$pole['jos_nazwa'].'</td>';
  56. echo '</tr>';
  57. echo '</tr><tr>';
  58. echo '<td>Lekarz kier.: </td><td>'.$pole['per_imie'].' '.$pole['per_nazwisko'].'</td>';
  59. echo '</tr><tr>';
  60. echo '<td>Lekarz kwal.:</td><td> TUTAJ POTRZEBUJĘ IMIĘ I NAZWISKO LEK. KWALIFIKUJĄCEGO </td>';
  61. echo '</tr><tr>';
  62. echo '<td>Status:</td><td>'.$pole['stat_nazwa'].'</td>';
  63. echo '</tr>';
  64. echo '</tbody></table>';
  65. }
  66. ?>


Możesz mi pokazać jak na moim kodzie lub na jakimś innym przykładzie?
Go to the top of the page
+Quote Post

Posty w temacie
- casperii   [MySQL][PHP]Relacje między tabelami   11.06.2017, 19:02:28
- - nospor   LEFT JOIN   11.06.2017, 19:35:58
- - casperii   No dobra ale jest jedno ale: [SQL] pobierz, plaint...   11.06.2017, 23:28:40
- - nospor   Jesli uzywasz grupowania i chcesz w select pobrac ...   12.06.2017, 08:45:28
- - casperii   @nospor : [SQL] pobierz, plaintext SELECT *, `id`...   12.06.2017, 20:38:04
- - nospor   Zjadles GROUP BY... skup sie troche   13.06.2017, 08:45:37
- - casperii   @nospor ok , racja: [SQL] pobierz, plaintext SEL...   13.06.2017, 18:55:37
|- - bostaf   Cytat(casperii @ 13.06.2017, 19:55:37...   14.06.2017, 20:11:00
- - Pyton_000   Zamiast pytać o głupooty to byś to lepiej sprawdzi...   13.06.2017, 21:14:24
- - casperii   @Pyton_000 gdyby to działało to bym nie pytał tut...   14.06.2017, 19:05:42
- - casperii   @bostaf jeśli nie zauważyłeś to są przykładowe ta...   14.06.2017, 20:49:58
|- - bostaf   Cytat(casperii @ 14.06.2017, 21:49:58...   14.06.2017, 21:25:41
- - trueblue   Podane przez Ciebie zapytanie na pewno nie zwróci ...   14.06.2017, 21:12:55
- - rufuspl   Cześć. Nie zakładam nowego wątku, bo wygląda mi na...   17.06.2017, 12:54:21
- - Pyton_000   bo masz użyć 2x left join.   17.06.2017, 13:24:22
|- - rufuspl   Cytat(Pyton_000 @ 17.06.2017, 14:24:2...   17.06.2017, 13:29:10
- - Pyton_000   dodajesz aliasy w zapytaniu w SELECT dla nazwisk   17.06.2017, 14:39:55
|- - rufuspl   Cytat(Pyton_000 @ 17.06.2017, 15:39:5...   17.06.2017, 22:09:50
- - Pyton_000   KodSELECT tabel1.id AS ID_1, tabela2.id AS ID_2   18.06.2017, 08:29:11
|- - rufuspl   Cytat(Pyton_000 @ 18.06.2017, 09:29:1...   18.06.2017, 12:23:41
- - Pyton_000   Wyraźnie napisałem że masz zrobić 2x left join do ...   18.06.2017, 14:23:34
- - rufuspl   Cytat(Pyton_000 @ 18.06.2017, 15:23:3...   18.06.2017, 17:46:22


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 06:42