[MySQL] Kilka zapytań:> |
[MySQL] Kilka zapytań:> |
4.08.2010, 09:42:48
Post
#1
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 10.03.2008 Ostrzeżenie: (0%) |
Witam.
Potrzebuje skryptu, który z tabeli "reg" pobierze z kolumny "nick" podaną nazwę, po czym skopiuje z kolumny "ID" pobierze cyfre, przejdzie do bazy konta w tabeli "konta" znajdzie to podane ID i tyle. Trochę zagmatwane, ale na pewno wykonalne. Pozdrawiam! |
|
|
4.08.2010, 09:44:23
Post
#2
|
|
Grupa: Zarejestrowani Postów: 229 Pomógł: 34 Dołączył: 7.12.2008 Skąd: Poznań Ostrzeżenie: (0%) |
No i co zrobi jak znajdzie? Bo ta część jest dla mnie niejasna
|
|
|
4.08.2010, 10:41:26
Post
#3
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 10.03.2008 Ostrzeżenie: (0%) |
Znajdzie liczbe z kolumny pionowej "ID" w kolumnie poziomej, w której jest podany nick.
Może Paint to wyjaśni http://img130.imageshack.us/img130/7201/beztytuudkq.png |
|
|
4.08.2010, 10:44:05
Post
#4
|
|
Grupa: Zarejestrowani Postów: 229 Pomógł: 34 Dołączył: 7.12.2008 Skąd: Poznań Ostrzeżenie: (0%) |
Ewnetualnie
jeżeli chcesz pobrać po id Jednak nadal nie rozumiem co ma się dziać po tym jak już pobierzesz dane z pierwszej tabeli? Ten post edytował zelu 4.08.2010, 10:45:29 |
|
|
4.08.2010, 11:02:56
Post
#5
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 10.03.2008 Ostrzeżenie: (0%) |
No tak, nie napisałem. Pośpiech..
Gdy wybierze już z pierwszej tabeli, ma przejść do drugiej. Znaleźć tam to wcześniej wybrane ID i w kolumnie STATUS zmienić na NO. Prosiłbym jednak o gotowca, całego, lub same zapytania, wszystko sobie ułożę Pozdrawiam. |
|
|
4.08.2010, 11:08:18
Post
#6
|
|
Grupa: Zarejestrowani Postów: 229 Pomógł: 34 Dołączył: 7.12.2008 Skąd: Poznań Ostrzeżenie: (0%) |
|
|
|
4.08.2010, 12:46:58
Post
#7
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
O ja pierniczę... Po co taka jazda? Nie lepiej zrobić JOIN pomiędzy obiema tabelami i jedną z kolumn updateować?
Pokombinuj jednak, choć z optymalizacją tego będzie już na pewno ciężko. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
4.08.2010, 13:00:48
Post
#8
|
|
Grupa: Zarejestrowani Postów: 229 Pomógł: 34 Dołączył: 7.12.2008 Skąd: Poznań Ostrzeżenie: (0%) |
No niby można, ale co jest złego w prostym podzapytaniu? Poza tym jest chyba bardziej czytelne niż mieszanie z JOINami
|
|
|
4.08.2010, 13:14:09
Post
#9
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
To porównaj czasy wykonania. Jedną z pierwszych zasad optymalizacji jest pozbywanie się podzapytań, ponieważ w większości przypadków spowalniają one całość zapytania (nie zawsze, ale bardzo często).
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
4.08.2010, 13:16:00
Post
#10
|
|
Grupa: Moderatorzy Postów: 6 070 Pomógł: 860 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
|
|
|
4.08.2010, 13:16:39
Post
#11
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 10.03.2008 Ostrzeżenie: (0%) |
Zelu, jest problem.
Tabela reg jest w bazie user, a tabela konta w bazie konta. Wiem, jestem nieznośny, ale potrzebuję to pilnie, mam nadzieję, że wytrzymasz ze mną Ten post edytował Freequ 4.08.2010, 13:17:15 |
|
|
4.08.2010, 13:22:43
Post
#12
|
|
Grupa: Zarejestrowani Postów: 229 Pomógł: 34 Dołączył: 7.12.2008 Skąd: Poznań Ostrzeżenie: (0%) |
No to odpadają jakiekolwiek podazapytania i JOINy (a przynajmniej ja nie znam sposobu)
Musisz to zrobić z wykorzystaniem PHP. Połącz się z bazą user, pobierz ID (używając zapytania z podzaypytania). Następnie połącz się z 2 bazą i zrób UPDATE pola o określonym ID. A w ogóle co Ty za twór tworzysz, że potrzebujesz do tego 2 baz? Pozdro |
|
|
4.08.2010, 13:30:56
Post
#13
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Słuszna uwaga phpion - podzapytania skorelowane
Jakie odpadają? Jeśli obie bazy są na tym samym serwerze i istnieje użytkownik, który ma prawa do obydwóch baz, to może tworzyć zapytania tego typu w postaci baza1.tabela1 LEFT JOIN baza2.tabela2 To tylko kwestia uprawnień usera Sam tak na localu robię gdy muszę przeparsować dane między bazami i wyniki pchnąć do jednej z nich. Jeśli nie masz wspólnego to pozostaje jedynie po stronie PHP pisać skrypt, który wykona to. Pobierasz jednym zapytaniem z bazy pierwszej interesujący Cię id i jeśli on istnieje to robisz zapytanie do drugiej bazy by szukało rekordów z tym id. I uważaj na mysql_connect przy łączeniu z 2 bazami. Wiele osób tutaj ma problemy, bo nie wie jak to zrobić. Co jakiś czas potem jest problem i temat o tym na forum. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
4.08.2010, 13:33:05
Post
#14
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 10.03.2008 Ostrzeżenie: (0%) |
thek, a możesz podać jakis przykład z tymi JOINami? Póki co piszę coś z tym pobieraniem rekordu, a potem szukanie dalej.
Użytkownik ma wszystkie prawa, jestem administratorem. |
|
|
4.08.2010, 13:33:38
Post
#15
|
|
Grupa: Zarejestrowani Postów: 229 Pomógł: 34 Dołączył: 7.12.2008 Skąd: Poznań Ostrzeżenie: (0%) |
Cytat zapytania tego typu w postaci baza1.tabela1 LEFT JOIN baza2.tabela2 No fakt, zapomniałem |
|
|
4.08.2010, 13:57:16
Post
#16
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
To weź mój przykład z pierwszego posta w temacie, przerób do swoich potrzeb, a tam gdzie masz tabela1 daj baza1.tabela1, zaś gdzie tabela2 daj baza2.tabela2. Tutaj przydają się aliasy, bo przepisywanie tego w kółko byłoby już nieco upierdliwe
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
Wersja Lo-Fi | Aktualny czas: 13.06.2024 - 05:49 |