FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Flitig postare
|
Skulle behöva lite experthjälp gällande en mysql-query.
Det är flera tabeller som ska samköras, och hämta ut "rätt" sorts data från de olika tabellerna från en annonssida, och varje annonstyp är uppdelad i varsin databastabell, beroende på vilken typ av data tabellen innehåller. Tabell "AdvertiseList" innehåller en lista med övergripande data om vad de andra 3 tabellerna innehåller, såsom Datum, Id, MenuId osv. Förfrågningen såsom den ser ut idag: SELECT * FROM AdvertiseList, Advertise8, Advertise9, Advertise11 WHERE ((AdvertiseList.Id <> 0) AND ((AdvertiseList.MenuId = '8') OR (AdvertiseList.MenuId = '9') OR (AdvertiseList.MenuId = '11')) AND ((AdvertiseList.AdvertiseId = Advertise8.Id) OR (AdvertiseList.AdvertiseId = Advertise9.Id) OR (AdvertiseList.AdvertiseId = Advertise11.Id))) GROUP BY AdvertiseList.Id ORDER BY AdvertiseList.Date DESC - Alla de andra 3 tabellerna, dvs. "Advertise8", "Advertise9" och "Advertise11" innehåller tex. fältet "Header" och "Price" för namnet på annonser respektive priset, men vid förfrågningen ovan verkar den blanda samman vilken Header resp. Price som den ska visa, ibland tar den Header från Advertise8, ibland från Advertise9 osv... Vad ska jag göra? Borde väl vara någon JOIN, men är tyvärr inte så haj på SQL, så all hjälp uppskattas. Det hade fungerat om även Header och Price legat i "AdvertiseList" tabellen, då hade man bara gjort förfrågningen mot just den tabellen, men systemet rullar redan idag, och det innebär en hel del strul att ändra om databasstrukturen idag. ![]() |
|||
![]() |
![]() |
Ämnesverktyg | |
Visningsalternativ | |
|
|