[MySQL][PHP] Nadpisywanie pustych kolumn, wartosciami z innej tabeli |
[MySQL][PHP] Nadpisywanie pustych kolumn, wartosciami z innej tabeli |
28.03.2018, 12:51:31
Post
#1
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) |
Mam 2 bazy danych produktow. W `produkty_dane` sa wszystkie dane i produkty a w `produkty_przypisane` sa tylko wybrane produkty, ma te same kolumny, ale np. cena, opis albo tytul moga byc zmieniane. Pytanie wiec jak pobrac najszybciej dane z tabeli `produkty_przypisane` zeby puste kolumny byly uzupelnione tymi z `produkty_dane` ? Wiem jak to zrobic w php ale przy tysiacach produktow to dosc duzo warunkow zeby sprwadzac, moze znacie jakis szybki sposob, cos jak left join z nadpisywaniem pustych wartosci z drugiej kolumny.
|
|
|
28.03.2018, 12:54:47
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Jeśli chcesz pobrać tylko produkty przypisane, to INNER JOIN.
A kolumna cena liczona jako:
-------------------- |
|
|
28.03.2018, 12:56:22
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Pokaż strukturę tabelek.
|
|
|
28.03.2018, 13:03:04
Post
#4
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) |
druga tabela jest taka sama, tylko wszedzie ma dane Ten post edytował Octobus 28.03.2018, 13:04:01 |
|
|
28.03.2018, 13:16:10
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
albo tak:
Możesz sobie z takiego zapytanie zrobić VIEW i używać normalnego SQL. |
|
|
28.03.2018, 13:35:12
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Skoro druga tabela jest taka sama, to raczej użycie IFNULL czy COALESCE odpada, bo jakim cudem miałbyś w kolumnach tekstowych czy cenie NULL?
Jakie masz wartości przy brakach? -------------------- |
|
|
28.03.2018, 13:37:40
Post
#7
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) |
@trueblue rzeczywiscie, masz racje. Polecenia nie dzialaja. W przypadku pustych wartosci, mam po prostu pusta wartosc, nie ma null, potrzebuje wiec cos innego, za szybko kliknalem pomogl ...
mimo tego naprowadziliscie mnie na rozwiazanie ktore dziala: Kod IF(`p`.`nazwa` IS NULL or `p`.`nazwa` = '', `b`.`nazwa`, `p`.`nazwa`) as `nazwa` dziekuje Ten post edytował Octobus 28.03.2018, 13:42:25 |
|
|
28.03.2018, 13:45:40
Post
#8
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Zawsze możnaby ustawić nullable w drugiej tabeli wtedy nie byłoby problemu.
|
|
|
28.03.2018, 13:56:16
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
-------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 01:52 |