Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Sumowanie
Octobus
post 2.02.2021, 16:47:19
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


Mam zapytanie do bazy Magento 2 ktore pobiera cene produktu oraz jego nazwe. Problem w tym ze jak sie ma wiele sklepow na jednym skrypcie Magento 2 to wartosci moga byc domyslne, wtedy w bazie pojawiaja sie nie przypisane do sklepu z ktorego pobieramy informacje a do domyslnego sklepu `store_id`=0. Jak pobieram wiec tytul dla sklepu 3 i jest on domyslny to w tabeli go nie znajde gdy uzyje where `store_id`=3 bo go nie ma ale bedzie w domyslnym sklepie `store_id` = 0. Jak wiec sprytnie pobrac wartosci z bazy zeby nie robic 2 zapytan a pozniej petli w ktorej domyslne wartosci zostana przypisane do listy produktow oraz jak rozroznic ze ta wartosc jest domyslna a nie przypisana tylko do tego sklepu ?



Cytat
SELECT
`catalog_product_entity`.*,

`price`.`value` as `price`,
`name`.`value` as `name`,

FROM
`catalog_product_entity`

/* product price */
left outer join `catalog_product_entity_decimal` as `price`
on (`catalog_product_entity`.`entity_id` = `price`.`entity_id` and
`price`.`store_id` = '.$store_id.' and
`price`.`attribute_id` = '.$product_attribute_list['price']['attribute_id'].')

/* product name */
left outer join `catalog_product_entity_varchar` as `name`
on (`catalog_product_entity`.`entity_id` = `name`.`entity_id` and
`name`.`store_id` = '.$store_id.' and
`name`.`attribute_id` = '.$product_attribute_list['name']['attribute_id'].')
Go to the top of the page
+Quote Post
YourFrog
post 3.02.2021, 11:50:05
Post #2





Grupa: Zarejestrowani
Postów: 124
Pomógł: 22
Dołączył: 10.01.2014

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


Tak na szybko żeby działało z każdą bazą danych to proponuję spróbować za pomocą UNION'a jako podzapytanie. Coś na zasadzie

  1. SELECT
  2. base.*
  3. FROM
  4. (
  5. // Zapytanie 1 z LIMIT 1
  6. UNION
  7. // Zapytanie 2 z LIMIT 1
  8. ) AS base
  9. LIMIT 1


Co prawda nie wiem jak to będzie z wydajnością takiego rozwiązania jednak wydaje się ok. Można oczywiście próbować pobierać domyślną i do niej dodawać z konkretnego storage i później w select wybierać tą która nam pasuje (bo storage 3 będzie nullem).

Ten post edytował YourFrog 3.02.2021, 12:02:50
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: 24.04.2024 - 03:32