FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Nykomling
|
Hejsan alla wnare!
Jag håller på att bli galen och söker nu lite råd här ![]() Jag har en tabell som innehåller en massa data. (tblDATA) I den finns det ett fält som heter text och detta vill jag ha ut. Löseningen bygger på att man inte ska få samma text från tblDATA och därför finns det en kopplingstabell vid namn (tblnoDuplicates) i tblnoDublicates finns det ett fält vid namn customerID. MYSQL: SELECT tblDATA.text FROM tblDATA Left Join tblnoDuplicates ON tblDATA.dataID = tblnoDuplicates.dataID WHERE tblnoDuplicates.customerID NOT LIKE '1' //Detta är ett ID som inte finns. LIMIT 1 Detta bör resultera i en tblDATA.text men jag får bara null. Något gör jag fel men vad ![]() Tack för hjälpen! |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Har WN som tidsfördriv
|
Vore ju önskvärt att få hela tabellstrukturerna.
Finns ens raden med i tabellen du kör left join på? Testa ta bort limit 1 för att se så du verkligen får som du tänkt dig. Sen känns det lite varning att ha en tabell för att inte få dubletter? |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Nykomling
|
Här kommer strukturen:
tblDATA dataID (INT) text (VARCHAR 255) userID (INT) created (DATETIME) tblnoDuplicates duplicateID (INT) dataID (INT) customerID (INT) created (DATETIME) |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Har WN som tidsfördriv
|
Har säkert att göra med att du kör NOT LIKE mot rader som innehåller NULL vilket manualen varnar dig för.
Testa att ta bort WHERE-vilkoret och LIMIT så ser du om du får in NULL vilket sen ställer till det för dig. http://dev.mysql.com/doc/refman/5.0/...rator_not-like |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Nykomling
|
jag får null värde vad ska jag göra för att lösa detta?
|
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Supermoderator
|
Kan du förklara vad du är ute efter och varför du har denna databasstruktur? Rent spontant känns det som att du tänkt fel redan när du designat din databas
__________________
Jonny Zetterström se.linkedin.com/in/jonnyz | bjz.se | sajthotellet.com | kalsongkungen.se | zretail.se | zetterstromnetworks.se | webbhotellsguide.se | ekonominyheter24.se | nyamobiltelefoner.se | gapskratt.se | antivirusguiden.se | jonny.nu |
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Har WN som tidsfördriv
|
Vad är anledningen att du har en separat tabell med massa info om duplicates?
Vill du inte visa de rader i tblDATA som finns i tblnoDuplicates? Isf är det ju enklare att köra en annan sql tex: SELECT tblDATA.text FROM tblDATA WHERE dataID NOT IN ( SELECT dataID FROM tblnoduplicates ) LIMIT 1 |
||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Nykomling
|
Tanken är så här:
Klienten får ett meddelande från tblDATA. När klienten har fått detta meddelande så lämnas datan om vilket meddelande klienten har fått till tblnoDuplicates så att klienten inte får samma en gång till. jonny hur hade du tänkt dig att det skulle se ut? |
||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Nykomling
|
Citat:
![]() |
||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Har WN som tidsfördriv
|
Löste inte min SQL dina problem?
Du får ju dock även lägga in where-vilkor så det kollar för rätt användare, lämnas som övning ![]() Tänk vad enklare livet vore om tblnoduplicates hade hetat readTblDATAItems eller liknande, då skulle man förstå vad den var till för. |
||
![]() |
![]() |
Svara |
Ämnesverktyg | |
Visningsalternativ | |
|
|