Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] zapytanie
Forum PHP.pl > Forum > Bazy danych > MySQL
gino
Witam,

2 pytania: czy da się zapytaniem zmienić wartośc pola na jakis tekst ? Przykład: jest pole status w tabeli1 i przyjmuje warość 0 lub 1. W zapytaniu chcę otrzymać: jeżli stasus 0 to tekst "dodaj' jeśli wartośc 1 to tekst 'spadaj' ('dodaj' i 'spadaj' to przykłady)

I drugie pytanie: tabela1 o polach id, nazwa, tabeli2 o polach id_1, id_1 które są powiązane z id z tabeli1. Trzeba zapytaniem otrzymać 2 nazwy dla tych identyfikatorów (id_1 i id_2) z tabeli1. Temporary table troche mało eleganckie.

Dzięki z góry

gino
nospor
1) Możesz to bez problemu zrobić w php, nie wiem po co ci to w mysql... No ale skoro chcesz w mysql to
IF - zobacz w manuala jak nie wiesz jak używać

2) zwykły LEFT JOIN

ps: skoro chodzi ci o mysql to czemu nie zakładasz tego w dziale mysql....? przenosze
gino
Witaj,

sorki za niedopatrzenie gdzie ląduje temat.

1. Jakbym mógł w php to nie byłoby pytania. Trzbea w mysql-u. Wiem jak działa IF ale coś u mnie nie działa. Zerknę dokładniej

2. LEFT JOIN zwróci wtedy 2 rekordy, a potrzeba jeden rekord. Chyba, że spaprałem zapytanie wstydnis.gif

pozdrawiam

gino
nospor
ad1) No to pokaż jak kombinujesz
ad2) Left join zwroci jeden rekord. Tak, spaprałeś sprawę. Pokaz jak bardzo smile.gif

ps:
ad2) Ale masz zrobic dwa left join, jeśli chcesz pobrać dane o dwóch ID
gino
Witam,

wszystko chodzi. W IF faktycznie zamieszałem, a zapytanie skonstruowałem tak:

  1. SELECT
  2. `tabel2`.`id`,
  3. `table2`.`status`,
  4. `tabel2`.`czas`,
  5. `WW`.`name` AS `name_1`,
  6. `KK`.`name` AS `name_2`
  7. FROM `table2` LEFT JOIN `table1` AS WW ON (`WW`.`id` = `table1`.`id_1`) LEFT JOIN `table1` AS KK ON (`KK`.`id` = `table2`.`id_2`)


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.