Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] zapytanie
gino
post 16.03.2011, 09:34:59
Post #1





Grupa: Zarejestrowani
Postów: 324
Pomógł: 52
Dołączył: 18.02.2008

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


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
Go to the top of the page
+Quote Post
nospor
post 16.03.2011, 09:40:27
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
gino
post 16.03.2011, 09:49:55
Post #3





Grupa: Zarejestrowani
Postów: 324
Pomógł: 52
Dołączył: 18.02.2008

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


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
Go to the top of the page
+Quote Post
nospor
post 16.03.2011, 09:53:03
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
gino
post 16.03.2011, 11:37:51
Post #5





Grupa: Zarejestrowani
Postów: 324
Pomógł: 52
Dołączył: 18.02.2008

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


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`)


Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 03:47