Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
vakondka
#510
üzenetére
A join miatt termék-attribútum párokat kapsz, mégpedig annyit ahány egyezés volt az attribútum (tehát nem a termék!) szerint. Azt kell megnézni, hogy melyik termékhez van pontosan annyi sor ahány feltétel volt, ezért van a group by és a having. Ha lehagyod azt a részt akkor láthatod hogy néz ki a join eredménye. Ha több feltételed van, akkor azt a kettes számot ott át kell írni értelemszerűen.
-
Jester01
veterán
válasz
vakondka
#508
üzenetére
Szerintem elég lesz 1 join is.
SELECT pef.products_id
FROM products_to_products_extra_fields pef
LEFT JOIN products p ON p.products_id = pef.products_id
WHERE
(pef.products_extra_fields_id = 2 AND pef.products_extra_fields_value = 'piros') OR
(pef.products_extra_fields_id = 4 AND pef.products_extra_fields_value = '3')
GROUP BY pef.products_id
HAVING count(*) = 2 -
vakondka
őstag
válasz
vakondka
#507
üzenetére
Már 2-vel sem műxik

SELECT pef.products_id, pef.products_extra_fields_value
FROM products p
LEFT JOIN products_to_products_extra_fields pef ON p.products_id = pef.products_id
WHERE pef.products_extra_fields_id =2
AND pef.products_extra_fields_value = 'piros'
LEFT JOIN products_to_products_extra_fields pef ON p.products_id = pef.products_id
WHERE pef.products_extra_fields_id =4
AND pef.products_extra_fields_value = '3' -
cucka
addikt
válasz
vakondka
#469
üzenetére
1. Ha egyszerűen csak át akarod pakolni az adatokat, akkor használd a phpmyadmin beépített export/import funkcióját. (Amennyiben nem túl nagy az adatbázis az import-hoz)
2. Ha feltétlenül programot akarsz rá írni, akkor jó tudni, hogy egy táblára úgy is hivatkozhatsz, hogy adatbázisnév.táblanév. Ekkor ugye nem kell a mysql_select_db, mert anélkül is meg fogja találni az adatbázis szerver a táblákat.
A másik lehetőség, hogy két adatbázis kapcsolattal oldod meg a problémát, ez pl. sokkal rugalmasabb, mert akár két teljesen különböző adatbázis szerverrel is működik a dolog.. -
L3zl13
nagyúr
válasz
vakondka
#469
üzenetére
Még nem használtam így, de ha minden igaz, akkor amennyiben a felhasználó rendelkezik a megfelelő jogokkal mindkét adatbázishoz, akkor elhagyhatod a mysql_select_db-t, és elég csak a queryben megadnod, hogy melyik tábla melyik adatbázisban található az adatbázis.tábla formátumot használva.
-
VladimirR
nagyúr
válasz
vakondka
#458
üzenetére
hozz letre egy uj tabat (temp_tabla), melynek szerkezete megegyezik a product_description tablaeval
-- ideiglenes tabla kiuritese, hatha volt benne adat korabban
truncate table temp_tabla;
-- 4-es language_id-ju sorok lekerdezese a product_description tablabol es beillesztese a temp_tabla tablaba
insert into temp_tabla select * from product_description where language_id = 4;
-- temp_tabla-ban a language_id-k atallitasa 5-re
update temp_tabla set language id = 5;
-- lekerdezes a temp+_tabla tablabol es beillesztese a product_description tablaba
insert into product_description select * from temp_tabla; -
gyurman
tag
Új hozzászólás Aktív témák
- Sigma 60-600mm f/4.5-6.3 DG OS HSM Sports objektív ( Canon ) - Újszerű -
- Honor Magic8 Lite 8/256GB Újszerű,Kártyafüggetlen,Dobozos,Tartozékaival. 1 Év Garanciával!
- Szép Lenovo Legion Y530 15,6" FHD IPS / i5-8300H 4GHz / 8GB DDR4 / 256GB M.2 SSD / GTX 1050 Ti
- Xiaomi Redmi Note 15 Pro Plus 8/256GB Újszerű,Kártyafüggetlen,Tartozékaival. 1 Év Garanciával!
- Xiaomi 13T 8/256GB Megkímélt,Kártyafüggetlen,Tartozékaival. 1 Év Garanciával!
- Logitech G635 fejhallgató / 12 hó működési garancia
- Apple iPhone 14 Plus 128GB sárga használt, karcmentes 97% akku 6 hónap garancia
- LENOVO TABLET 10 (N4100),10.1",WUXGA, 2-IN-1 TABLET,Ceruza,LTE kártya,8GB DDR4,128GB SSD,WIN11
- Apple iPhone 15 / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku: 88%
- iKing.Hu - Apple iPhone 15 Pro Max Black Titanium 100% Akku
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

