![]() |
[Hjälp]MySQL query
Jag har en tabell som jag vill radera rader från.
Mitt problem är att jag vill kolla rader mot kolumner. Så här långt har jag kommit, funkar dock ej: Kod:
DELETE FROM entity_attributes WHERE itemid IN ( SELECT itemid FROM entity_attributes e WHERE (SELECT COUNT(*) FROM entity_attributes WHERE itemid = e.itemid AND attributeid = 280) = 1 AND (SELECT COUNT(*) FROM entity_attributes WHERE itemid = e.itemid AND attributeid = 276) = 1) |
Du har gjort det onödigt komplicerat för dig.
Varför köra så många querys i samma fråga? Det tar säkerligen längre tid än att göra det i separata frågor och loopa igenom det på serversidan, likaså otroligt mycket enklare att lösa problemen. |
Ok, får testa.
Tack för svar... *EDIT* Får det icke att funka. Fattar inte problemet... |
Jag körde denna istället;
Kod:
$result = mysql_query("select itemid from entity_attributes e where(select count(*) from entity_attributes where itemid = e.itemid and attributeid = 280) = 1 and (select count(*) from entity_attributes where itemid = e.itemid and attributeid = 276) = 1"); |
Citat:
Kod:
$result = mysql_query("select distinct itemid from entity_attributes e where attributeid= 276 OR attributeid=280"); |
Citat:
|
Tack för hjälpen!
Och förklaringen! =) |
Sorry for dubbelpost men;
testade precis Jonas query. Problemet var att den raderade precis ALLA rader som innhöll attributeID 280 och 276 där den egentligen bara skulle raderat raderna med attributID 280 som inte hade en matchande itemID med 276. Alltså en rad består av kollumnamn itemID, attributID. AttributID består enbart av 280 eller 276 men dessa ska ha samma itemID för att höra ihop. Och om det enbart finns en rad med antingen ett attributID 280 eller 276 men med ett unikt itemID ska det raderas... |
Ok, nu har jag kommit så här långt, tack Magnus... ;)
Kod:
|
Fick det att fungera.
Tack, återigen, Magnus för att du visade mig vägen... |
Alla tider är GMT +2. Klockan är nu 15:24. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson