Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pobieranie z 2 tabel jednocześnie
Forum PHP.pl > Forum > Bazy danych
pikornecki
Najprościej jak potrafię, mam 2 tabele mają tekie same kolumny (nazywają się tak samo) tylko przetrzymują inne informacje (text) jak zrobić pętle, która będzie czytała po 2 tablicach jednocześnie, ale tak żeby nie podawać nazw kolumn tylko automatycznie przesuwała się po kolumnach? Chodzi o to żeby wykorzystać numer iteracji do wędrowaniu po kolumnach, np. pobierz z kolumny 1, pobierz z kolumny 2 itd.
darko
Proszę opisać konkretnie problem.
pikornecki
ok 1 tabela ma kolumny np: koziołek | pszczółka | baran | koń , tabela 2 ma takie same kolumny, w pierwszej tabeli odpowiednio wpisane wartości rogi | żółta | kręcone | kopyta a w drugiej tabeli ma | pracoholiczka | kudełki ma | podkute chcę funkcję która w 1 iteracji pobierze wartość z obu tabel kolumna po kolumnie łącząc informacje z podobnych kolumn czyli wynikiem powinny być coś takiego:

1 iteracja: rogi ma
2 iteracja: żółta pracoholiczka
3 iteracja: kręcone kudełki ma
4 iteracja: kopyta podkute

Normalnie do każdego musiał bym napisać osobnego selecta i użyć joina ale musiał bym w każdym selekcje podawać nazwy kolumn czy da się to zrobić z wykorzystaniem zmiennej iteracyjnej czyli zamiast przeczytaj z kolumny koziołek to z kolumny1 i td?
darko
Nie wiem czy dobrze zrozumiałem, ale mam wrażenie, że sam sobie komplikujesz sprawę tą pętlą i iteracjami. W podanym przez Ciebie przykładzie wystarczy zwykły select i jeden join, aby wyciągnąć dane w takiej formie, jak podałeś. Jak nie chcesz odwoływać się do kolumny koziołek po nazwie to ją zaliasuj (select koziolek as koz1 itp.). Chyba, że nie zrozumiałem Twojego problemu.
pikornecki
ok, chodzi o optymalizację kodu, mając 2 tablice z 120 kolumnami, w których kolumny (w tablicach) nazywają się tak samo żeby wyciągnąć wszystkie wartości i je połączyć potrzebowałbym 120 selektów z joinami i na dodatek w każdym musiałbym osobno podawać nazwy kolumn. Chodzi mi takie coś jak w C - przesuwanie się po indeksach kolumn lub adresach a nie nazwach.

ale wydaje mi się jednak że sql samym tego nie osiągnę więc rozwiążę to tak że nazwy kolumn umieszczę sobie w tablicy i będę podstawiał w pętli php owej kolejne wartości z tablicy. Koniec tematu.
prachwal
Cytat(pikornecki @ 12.05.2011, 20:57:52 ) *
ok, chodzi o optymalizację kodu,


a przyszło ci do głowy że możesz robić joina po dwu atrybutach jednocześnie np. kod nazwiska, koda atrybutu i to wszystko trzymać w wierszach

a dopiero wynik transponować

żenada taki projekt
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.