| 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
}
|
|||
|
|
Svara med citat
|
|
|
#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 |
||
|
|
Svara med citat
|
|
|
#13 | |||
|
||||
|
Klarade millennium-buggen
|
Tack, jag ska kolla upp detta när jag är tillbaka på jobbet på måndag.
|
|||
|
|
Svara med citat
|
|
|
#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. ? |
|||
|
|
Svara med citat
|
|
|
#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. |
|||
|
|
Svara med citat
|
|
|
#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. |
||
|
|
Svara med citat
|
|
|
#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 med citat
|
| Svara |
| Ämnesverktyg | |
| Visningsalternativ | |
|
|