FAQ |
Kalender |
![]() |
#11 | |||
|
||||
Mycket flitig postare
|
Jag tror du måste göra så här:
Pseudo-kod: Kod:
SELECT lang_id FROM Languges Loop { $langid=hämta_första row['lang_id']; SELECT phrase_id FROM phrases WHERE phrase_id NOT IN (SELECT lang_id,phrase_id FROM Translation WHERE lang_id=$langid) echo "Dessa översättningar saknas i språket $langid" skriv ut resultatet från SELECT satsen } |
|||
![]() |
![]() |
![]() |
#12 | ||
|
|||
Medlem
|
Detta borde fungera:
Kod:
SELECT l.name, p.phrase FROM languages AS l JOIN phrases AS p LEFT JOIN translation AS t ON t.lang_id = l.id AND t.phrase_id = p.id WHERE t.translation IS NULL |
||
![]() |
![]() |
![]() |
#13 | |||
|
||||
Klarade millennium-buggen
|
Tack, jag ska kolla upp detta när jag är tillbaka på jobbet på måndag.
|
|||
![]() |
![]() |
![]() |
#14 | |||
|
||||
Klarade millennium-buggen
|
Jake.Nu: I ditt exempel försöker du plocka fram kopplingar som inte är kopplade om man säger så. Det är lite fel tyvär, det ska vara kopplingar som inte existerar. Din sql ger alltså inga träffar ö.h.t
SimonP: Jag vill helst inte loopa i serverkod för det blir en sjuh***lvetes massa slagningar mot databasen. fors: Du verkar nästan vara där, men jag förstår inte din "JOIN phrases AS p"... man ska väl joina den på något enligt t-sql dialekten iaf. ? |
|||
![]() |
![]() |
![]() |
#15 | |||
|
||||
Mycket flitig postare
|
Citat:
Anledningen till att jag loopade var att jag inte kom på nån bra Query, men om nån kommer på en Query som fungerar så är det iofs bättre att köra på en sån. |
|||
![]() |
![]() |
![]() |
#16 | ||
|
|||
Medlem
|
Citat:
Har du testat SQL-satsen? Den fungerar åtminstone när jag testar den i MySQL. Sedan hur man gör i T-SQL, det vet jag inte. Men jag skulle kunna gissa på att den här frågan inte är MySQL-specifik. |
||
![]() |
![]() |
![]() |
#17 | |||
|
||||
Klarade millennium-buggen
|
SimonP: Jag har 20 språk...
![]() fors: Jag har givetvis testat (med mina tabell-/kolumnnamn då) och får ett syntax fel, "Incorrect syntax near the keyword 'join'.". Jag har försökt att modifiera syntaxen utan att få det att fungera på det sätt jag vill. Jag ser ju att din princip är korrekt, så inga problem där, bara syntaxfelet som måste fixas.. [edit] Ska tillägga att om man tar bort JOIN och bara söker fram phrases i FROM så fungerar det, men då crashar LEFT JOIN satsen med felet "The multi-part identifier "l.Id" could not be bound.". Jag gjorde enligt följande istället: Kod:
SELECT l.name, p.phrase FROM languages AS l, phrases AS p LEFT JOIN translation AS t ON t.lang_id = l.id AND t.phrase_id = p.id WHERE t.translation IS NULL |
|||
![]() |
![]() |
Svara |
|
|