ooh saw saw mekupatasio table tengeneza querl itakayoleta relut ya mzigo fulani umekaa siku ngap
Sijui ni mimi sikuelewi au hujaandika swali kiufasaha? Mfano hapo kwenye handling_date ndo mzigo unatoka au unaingia? Kwa sababu mzigo unaingia na kutoka nilitegemea kuona column mbili za tarehe ili kupata difference ya siku kutoka kwenye hizo tarehe, mfano uweke handling_date kuwa ndo mzigo umeingia na due_date ndo mzigo unatoka, bila kujua tarehe ya mzigo umeingia lini na unatoka lini huwezi kupata difference ya siku,Imagine wewe ni dba katika kampuni ya logistic umepewa kazi na boss uonyeshe mizigo inakaa muda gani mpaka inatoka hapa chini naweka table yenye field ya item_id ,handlintype kuonyesha mzigo umeingia au umetoka na handling date kuonyesha tarehe ya mzigo kuingia au kutoka na quantity ambayo siyo ya muhimu sana sasa andika query itakayokupa idadi ya siku ya mzigo kukaa kwenye store yenu.
Karibuni
Mkuu nashukuru kwa kujibu hiyo database table zake ziko hivo mimi mwenyewe nilishangaa kuona column moja ya tarehe ndio ugumu wa kutafuta difference unakuja ukiangalia kwa umakini item inawekwa mara mbili kwenye database hivo kila item ina tarehe mbili kama hapo viazi vina tarehe ya kuingia na row nyingine tarehe ya kutoka sasa je unawezaje kupata difference kwenye column moja hii database wametengeneza wahindi ni sql server.Sijui ni mimi sikuelewi au hujaandika swali kiufasaha? Mfano hapo kwenye handling_date ndo mzigo unatoka au unaingia? Kwa sababu mzigo unaingia na kutoka nilitegemea kuona column mbili za tarehe ili kupata difference ya siku kutoka kwenye hizo tarehe, mfano uweke handling_date kuwa ndo mzigo umeingia na due_date ndo mzigo unatoka, bila kujua tarehe ya mzigo umeingia lini na unatoka lini huwezi kupata difference ya siku,
Pili huja specify ni database gani unatumia, ni MySQL, SQLite, oracle DB au ipi!? Hii ingesaidia watu kukusaidia kwa usahihi maana kuna vitu vidogo huwa zinatofautisha query zake kwenye kila DB , sasa kama hujaspecify ni DB gani unatumia tegemea kupata usichokihitaji ingawa itakuwa imesolve tatizo lako kwa 100% bali wewe utashindwa kuimplement kwenye tatizo lako
Tatu, hujaspecify kama kuna supportive language yoyote kwenye query zako kama vile PHP, JAVA au nyinginezo au ni query tu pasipo language yoyote
Ingekuwa ni mimi ningeweka column mbili kama nilivyosema hapo juu (handling_date na due_date) kisha query yangu ingekuwa hivi
SELECTE DATEDIFF(due_date, handling_date) as remaining_days FROM my_table WHERE id_item = 1
Hii ni kwa MySQL DB tu sijui kama DB nyingine zina function ya kupata difference ya days
Kama ningekuwa na supportive language kama PHP, ingekuwa hivi
$query = $db->query("SELECT * FROM mytable");
foreach ($query->result() as $row){
$handling_date = strtotime($row->handling_date);
$due_date = strtotime($row->due_date);
if($due_date >$handling_date){
$hours = $due_date - $handling_date;
$hours = $hours / 3600;
$time_left = round($hours / 24);
if($time_left < 1){
$time_left = "Less than 1 day ";
}else{
$time_left = $time_left."days remaining ";
}
}else{
$time_left = "Expired ";
}
echo $time_left;
}
Hizi examples zote ni assumptions tu kwa mimi understand yangu juu ya swali lako unless toa maelezo yaeleweke
Najua hii inaweza kua umepewa homework so ntakutafunia afu umeze mwenyewepia nahitaji query tu ya back end huna haja ya kuchapa code za front end
sio homework mkuu ni real problemNajua hii inaweza kua umepewa homework so ntakutafunia afu umeze mwenyewe
Unaweza kua na queries 2
Ya kwanza select handling date where handling type sawa sawa na in na item id sawa sawa na viazi
Ya pili select handling date where handling type sawa sawa na out na item id sawa sawa na viazi
Afu baada ya hapo tafuta date difference between results za sec query na za first query
Huyo aliyetengeneza hiyo DB sidhani kama alikuwa anajua anachokifanya, at least hata item id ingekuwa haibadiliki lakini item id inabadilika kiasi kwamba unashindwa kuelewa primary key ni nini hapo, kama primary key ingekuwa ni item id basi ningetegemea kwenye in na out zingefanana hizo item id, hapo huwezi kutengeneza query yoyote kwa njia hiyoMkuu nashukuru kwa kujibu hiyo database table zake ziko hivo mimi mwenyewe nilishangaa kuona column moja ya tarehe ndio ugumu wa kutafuta difference unakuja ukiangalia kwa umakini item inawekwa mara mbili kwenye database hivo kila item ina tarehe mbili kama hapo viazi vina tarehe ya kuingia na row nyingine tarehe ya kutoka sasa je unawezaje kupata difference kwenye column moja hii database wametengeneza wahindi ni sql server.
Hapo sasa primary key ni nini!?Najua hii inaweza kua umepewa homework so ntakutafunia afu umeze mwenyewe
Unaweza kua na queries 2
Ya kwanza select handling date where handling type sawa sawa na in na item id sawa sawa na viazi
Ya pili select handling date where handling type sawa sawa na out na item id sawa sawa na viazi
Afu baada ya hapo tafuta date difference between results za sec query na za first query
Basi kama sio homework basi aliyetengeneza db arudi darasanisio homework mkuu ni real problem
Hamna primary key ndo maama nimemwambia kama sio kazi ya shule arudi darasaniHapo sasa primary key ni nini!?
mkuu nimeikuta hiyo database ya kampuni ni mtihani kweli kweli hapo kuna field nimeziondoa ila zinazotumika ni hizo cha ajabu vendor ukimpata task hiyo anakupa majibu lakin query hakupi na unalipia kila ukimpa task.Basi kama sio homework basi aliyetengeneza db arudi darasani