Mam takie tabele:

[tab1]
(id)(kod)(wartość)
1, 'x', 'a'
1, 'y', 'b'
2, 'x', 'c'
2, 'y', 'd'
...

[tab2]
(id)(kod)(wartość)
1, 'x', 'a'
1, 'y', 'b'
2, 'x', 'c'
2, 'y', 'd'
...

Muszę złączyć tabele tak, żeby przypisać do tab1 tab2 dla tego samego id + po wierszu kod do tego samego kodu, żeby nie zrobiło mi przemnożenia, tj

1, 'x', 'a', 'x', 'a'

jeśli zrobię tylko po kluczu(id) to będe
@JBFC: jeśli tabela nie ma klucza głównego to działa tak, jakby wszystkie kolumny razem były kluczem. Jak możesz, to zdefiniuj klucz na (id, kod).

A jak koniecznie chcesz to zrobić updatem to możesz coś w tym stylu (nie testowałem, pisanie z palca na szybko):

update tab1
set kod2=(select kod from tab2 where tab2.id=tab1.id and tab2.kod = tab1.kod),
wartosc2=(select wartosc from tab2 where tab2.id=tab1.id and tab2.kod = tab1.kod);

No i potem w
Mirki, dziś darmowy #ebook z #packt: "MongoDB Cookbook"
https://www.packtpub.com/packt/offers/free-learning

Polecam obserwować: #packtpubfreelearning

Jeśli ktoś się spóźni i chce książkę proszę od razu na PW adres email wraz z tytułem książki. Zgodnie z polskim prawem nie można legalnie udostępnić tych zasobów masowo. Ale można bezpośrednio, korzystając ze stosunku towarzyskiego, więc podeślę.

Pobierz MiKeyCo - Mirki, dziś darmowy #ebook z #packt: "MongoDB Cookbook"
https://www.packtp...
źródło: comment_AVOrGhqUqIJTST65Tm5vm5ZV23RA3IUD.jpg
@Neagini: Notacja wiele do jednego. Notacja używana w relacyjnych bazach danych oznacza, że jedna encja z danej tabeli może być podpięta do wielu encji z innej tabeli. Klucz oznacza 1, a kółka wiele.
Kiedy przychodzi #programista15k do #sysadmin i mówi "hej maniac, zapytanie SQL na #bazydanych mi się wolno wykonuje"... pokazuje zapytanie, Ty wyświetlasz plan i widzisz:

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 88G| 214T| 1349K (1)| 00:00:53 |
(...)
Po czym patrzysz i wydaje Ci się znajome... szukasz po mailach i widzisz że w styczniu ten sam
Pobierz maniac777 - Kiedy przychodzi #programista15k do #sysadmin i mówi "hej maniac, zapytan...
źródło: comment_x1Bl6RoMCzIwFllsm8eLYwber7q1qMwM.jpg
Mam takie zapytanie:

SELECT
id_pracownika, nr_przedzialu
FROM pracownik, poziom_zarobkow
WHERE pensja + nvl(premia, 0) BETWEEN dolna_granica AND gorna_granica
GROUP BY id_pracownika, nr_przedzialu
HAVING nr_przedzialu = trunc(avg(nr_przedzialu));

A jego wynik jest następujący:

id nr
13 5
12 3
9 5
6 5
4 3
8 4

Niestety, wynik nie jest taki jakiego oczekuję. Szukam tylko tych rekordów, gdzie, zgodnie z ostatnią linią w zapytaniu, nrprzedzialu jest równy trunc(avg(nrprzedzialu), czyli wartości środkowej.

SELECT
@Matt23: Przez to, że w GROUP BY masz nrprzedzialu. Zostaną utworzone grupy (idpracownika, nrprzedzialu), a w każdej tej grupie stały nrprzedziału, przez co średnia zawsze będzie równa nr_przedzialu, czyli równie dobrze tego warunku mogłoby nie być, bo zawsze będzie spełniony.
W jaki sposób zrobić kategorie do newsów na stronie?
Potrzebuję rozwiązania, do którego w późniejszym czasie będę mógł dodać nowe kategorie bez interwencji w tabele, wyłącznie z poziomu przygotowanego panelu.
Do 1 newsa może być przypięte wiele kategorii, na podstawie których potem będzie można wyszukać w szukajce.

W jaki sposób to rozwiązać, aby było to elastyczne, funkcjonalne i nieprzekombinowane?
#webdev #bazydanych #sql #php
#bazydanych
Mam tabelę użytkowników, chcę zaimplementować tabelę znajomości, więc utworzyłem tabelę 'Friends' z dwiema kolumnami obcych kluczy z tabeli użytkowników. Mogę się jakoś zabezpieczyć na bazie przed duplikacją rekordów?
np. znajmość 2 z 3 to samo co 3 z 2 więc te rekordy są duplikatami.
Brzmi jak popularny problem, ale nie znalazłem dobrego rozwiązania :/
#programowanie #bazy #sqlite3
@bonus: Zależy czy chcesz na tych danych działać czy nie. Jeśli po prostu dane przechowujesz i wyciągasz to cię nie obchodzi czy w bazie przechowujesz pdfy, jsony czy stringi, po prostu wpychasz do blob lub string. Ale, jeśli chcesz z tym zrobić coś więcej to postgres natywnie wspiera JSON.
Ktoś #mongodb #debian #bazydanych ?

Mam problem bo potrzebuję zainstalować wersję 3.0.3 i nie mogę repozytoriów ogarnąć.
Co mam:

Debian 8 jessie - 3.16.0-4-AMD64, 3.16-42- 2-Deb8u5
Co zrobiłem:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Dodałem repo:

deb [http://repo.mongodb.org/apt/debian](http://repo.mongodb.org/apt/debian) jessie/mongodb-org/3.0 main
do

/etc/apt/sources.list.d/mongodb-org-3.0.list
później

sudo apt-get install -y mongodb-org=3.0.3 mongodb-org-server=3.0.3 mongodb-org-shell=3.0.3 mongodb-org-mongos=3.0.3 mongodb-org-tools=3.0.3
nie działa.

Próbowałem też:

deb [http://repo.mongodb.org/apt/debian](http://repo.mongodb.org/apt/debian) jessie/mongodb-org/3.4 main
i znowu

sudo apt-get install -y mongodb-org=3.0.3 mongodb-org-server=3.0.3 mongodb-org-shell=3.0.3 mongodb-org-mongos=3.0.3 mongodb-org-tools=3.0.3
Miraski, coś spieprzyłem i musze to poprawić ;) Mam stronę z artykułami, jakieś 100 tys pozycji. Dopiero teraz widzę, że w treści posta jest rel="nofolow" zamiast rel="nofollow". Jakim zapytaniem zmienić jedno na drugie? Jak ostatnim razem coś takiego próbowałem zrobić to wywaliłem pół bazy w kosmos, więc wole zapytać ;)
Tabela ma nazwe "post", kolumna "text".

#mysql #bazydanych #pytanie #pytaniedoeksperta
Jest może tutaj ktoś, kto się zajmuje zawodowo bazami danych? Mam codziennie kopie ok ~40gb z mssql i niby dostałem instrukcje ze najlepiej i najszybciej kompresować wbudowanym w windowsa zipem i wyniki są tak ~5gb w ~45minut. Da się do robić innym programem szybciej/ sprawniej? No oczywiście nie chce skracać czasu kosztem tego ze potem moze byc problem z dekompresowaniem takiego archiwum ( ͡° ͜ʖ ͡°)
#bazydanych #
@brzytew: Długo trochę. Wbudowana kompresja backupów powinna być najszybsza, sprawdź też maszynę na której to obrabiasz i zamontuj lepszy dysk. No i oczywiście ustaw sobie tę kompresję z automatu to nie będzie cię obchodzić czy trwa ona 3 kwadranse czy 3 godziny.
Oracle
Mam w polach kolumnie długi ciąg znaków, w ciągu znaków znajduje się kod
A; B; C; Cośtam cośtam; KOD; 312412EEcośtam; data;

W drugiej kolumnie w innej tabeli mam też kod. Z tym że niektóre kody w stringu są inne niż w kolumnie z kodami. Wiem już w których miejscach.
Muszę wyciągnąć kody ze stringa, wyciągnąć pozycję startu i stopu, usunąć i wrzucić tam kod z kolumny z kodami. Albo podmienić. Ktoś
W poprzedniej firmie gdzie pracowalem mielismy najwiekszego klienta z top3 (moze top5), ktory nadal uzywal JVM5 i mieli serwery w Rosji. W 2014 Rosja prawnie cofnela zmiany czasu letni/zimowy. Oracle oczywiscie wydal patche do tego do 7 i 8 (pomimo ze niby 7 juz nie byl wspierany wtedy). Firma podpisala z nimi niesamowicie nieoplacalna umowe, ze dostarczamy support do calosci, nawet do Tomcata do 2020 roku ( ͡°( ͡°
Mam problem z bazą danych w MySQLu. Wywala mi Undefined index on line 45, 47, 48, 49, 50, 51, 52, 53.
$id = $row['id'];
$tresc = $row['tresc'];
$odpa = $row['odpa'];
$odpb = $row['odpb'];
$odpc = $row['odpc'];
$odpd = $row['odpd'];
$answer = $row['answer'];
$kategoria = $row['kategoria'];
$rok = $row['rok'];

Co tu nie gra?

#bazydanych #sql #mysql