![]() |
![]() ![]() |
![]() |
-ANTUAN- |
![]()
Post
#1
|
Goście ![]() |
Mam taki nietypowy problem mianowicie mam dwie tabele:
1 tabela products w niej kolumny załóżmy: ID|model_produktu| 2 tabela products_detale w niej kolumny: ID|waga|kolor| I teraz mam dane w excel w postaci kolumn |model_produktu|waga|kolor| Jednak tych modeli produktów jest załóżmy 100 a ja mam w sklepie tylko 50 które mnie interesują. I teraz moje pytanie jak zaktualizować drugą tabelę znając tylko model_produktu?? Bo ręcznie to bez sensu szukać które produkty mnie interesują i przypasowywać w excelu model_produktu do ID. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 9 Dołączył: 3.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Algorytm na szybko:
1. Zamień plik XLS na CSV 2. Zaczytaj plik CSV 3. Lecisz po pliku CSV wiersz po wierszu, sprawdzasz selectem czy dany wiersz "jest w bazie" 4. Jeśli dany wiersz "jest" w bazie i są różnice między CSV a bazą, to za pomocą UPDATE uaktualniasz bazę. |
|
|
-ANTUAN- |
![]()
Post
#3
|
Goście ![]() |
Kurde nie ogarniam tego...
Czyli co musiałbym stworzyć zapytanie złóżmy czy w tabeli 'products'.'products_model' istnieje załóżmy produkt X jeśli tak to UPDATE drugą tabele 'products_detale'.'waga' i 'products_detale'.'kolor' Tylko na jakiej podstawie jeśli nie znam ID co jest częścią wspólną dla tych dwóch tabel? ![]() Jakby ktoś podał jakiś przykład byłbym wdzięczny... Albo jak powinno wyglądać takie zapytanie do bazy by uaktualnić drugą tabelę znając tylko nazwe produktu w pierwszej tabeli. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 9 Dołączył: 3.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Kurde nie ogarniam tego... Czyli co musiałbym stworzyć zapytanie złóżmy czy w tabeli 'products'.'products_model' istnieje załóżmy produkt X jeśli tak to UPDATE drugą tabele 'products_detale'.'waga' i 'products_detale'.'kolor' Tylko na jakiej podstawie jeśli nie znam ID co jest częścią wspólną dla tych dwóch tabel? ![]() Jakby ktoś podał jakiś przykład byłbym wdzięczny... Albo jak powinno wyglądać takie zapytanie do bazy by uaktualnić drugą tabelę znając tylko nazwe produktu w pierwszej tabeli. Na szybko wiec mogą być błędy: SELECT ID FROM products WHERE model_produktu = "model_produktu_z_pliku_csv" Jeżeli zwrócone ID będzie większe od 0, to znaczy że masz w bazie produkt który właśnie obrabiasz w csv, więc możesz go uaktualnić: UPDATE products_detale SET waga="waga_z_csv", kolor = "kolor_z_csv" WHERE ID = ID_Uzyskane_Z_Selecta Taka metoda spowoduje że zawsze będzie ci się uaktualnioało czy potrzebe czy nie. Możesz robić sprawdzenie od razu cwańszą metodą i od razu wyciągać z bazy cechy dla danego ID: SELECT * FROM products p LEFT JOIN products_detale pd ON (p.ID = pd.ID) WHERE p.model_produktu = "model_produktu_z_pliku_csv" Ten post edytował skleps 8.01.2013, 16:36:55 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.06.2025 - 15:32 |