2019년 9월 26일 목요일

MSSQL INNER JOIN

select
A.*,
B.SLAB_T_TGT,
C.T_NSKD_AVG,C.T_SKID_AVG
from TBL_FUR_ZONE_OPT A
left join TBL_FUR_SLAB_INF B
on A.FCE_NO = B.FCE_NO
inner join TBL_FUR_SLAB_HIS C
on A.FCE_NO = c.FCE_NO
where A.FCE_NO = 1

이런식으로 원하는 항목만 쿼리 가능


select
A.SLAB_THK AS THK,
A.SLAB_WTH AS WTH,
A.SLAB_LTH AS LTH,
B.ELEC_PREDICT_VALUE AS EF_VALUE,
B.ELEC_PRICE AS EP_PRICE,
B.ELEC_PREDICTED_COST AS EP_COST
from Production_Schdule_Final A
Inner join production_Shedule_Predict B
on A.MTL_NO = B.MTL_NO
where B.RL_ROLL_UT_NM = {0}
order by B.CHARGE_START_DT asc

xml XmlSerializer

<FCE_0004>
  <item>
    <TOPT_ZONE_PT>300</TOPT_ZONE_PT>
    <TOPT_ZONE_PB>300</TOPT_ZONE_PB>
    <TOPT_ZONE_HT>300</TOPT_ZONE_HT>
    <TOPT_ZONE_HB>300</TOPT_ZONE_HB>
    <TOPT_ZONE_ST>300</TOPT_ZONE_ST>
    <TOPT_ZONE_SB>300</TOPT_ZONE_SB>
  </item>
  <item />
  <item>
    <TOPT_ZONE_PT>200</TOPT_ZONE_PT>
    <TOPT_ZONE_PB>200</TOPT_ZONE_PB>
    <TOPT_ZONE_HT>200</TOPT_ZONE_HT>
    <TOPT_ZONE_HB>200</TOPT_ZONE_HB>
    <TOPT_ZONE_ST>200</TOPT_ZONE_ST>
    <TOPT_ZONE_SB>200</TOPT_ZONE_SB>
  </item>
</FCE_0004>


[Serializable]
[XmlRoot("FCE_0004")]
public class FCE_ZONE_0004
{
    [XmlElement("item")]
    public FCE_ZONE_TMP_DATA[] FCE_Zone_Temp;
}


[Serializable]
public class FCE_ZONE_TMP_DATA
{
    [XmlElement("TOPT_ZONE_PT")]
    public float TOPT_ZONE_PT;
    [XmlElement("TOPT_ZONE_PB")]
    public float TOPT_ZONE_PB;
    [XmlElement("TOPT_ZONE_HT")]
    public float TOPT_ZONE_HT;
    [XmlElement("TOPT_ZONE_HB")]
    public float TOPT_ZONE_HB;
    [XmlElement("TOPT_ZONE_ST")]
    public float TOPT_ZONE_ST;
    [XmlElement("TOPT_ZONE_SB")]
    public float TOPT_ZONE_SB;
}


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
private static T GetDeserialize<T>(byte[] data)
 
    {
 
        XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
 
        using (MemoryStream ms = new MemoryStream(data))
 
        {
 
            return (T)xmlSerializer.Deserialize(ms);
 
        }
 
    }
 
 
 
public string Serialize<T>(T objectToSerialize)
 
    {
 
        XmlSerializer xmlSerializer = new XmlSerializer(objectToSerialize.GetType());
 
 
 
        using (StringWriter textWriter = new StringWriter())
 
        {
 
            xmlSerializer.Serialize(textWriter, objectToSerialize);
 
            return textWriter.ToString();
 
        }
 
    }
 
 
cs



FCE_ZONE_0004 test = GetDeserialize<FCE_ZONE_0004>(conv_data);


Debug.Log("Length :" + test.FCE_Zone_Temp.Length);


///select * from table
쿼리 여서 여러줄이 나옴

그 여러줄이 List에 알아서 들어감







2019년 9월 16일 월요일

xml 변수 설정하기

안드로이드 개발할 시 주로 문자열을 string.xml 에서 관리합니다. 그런데 이 문자열 사이에 값이 달라지는 변수를 두고 싶을 때가 있습니다.

String.xml

<string name="hello">%1$s가 %2$s에게 인사합니다.</string> 

 %1$s : string  (문자열 일시)     %1$d : int   (숫자 일시)

JAVA
그리고 자바에서는 아래와 같이 코드를 해줍니다.


Resources res = getResources();

String text = String.format(res.getString(R.string.hello), "아이", "선생님"); 

결과값 -> 아이가 선생님에게 인사합니다.





영어권에서 복수형 단어 처리하기
영문으로 할 때에는 여러개일 경우에는 s가 붙는 거처럼 복수형 형태가 되는 경우가 있습니다.

String.xml


  <plurals name="file">


        
<item quantity="one">One file found.</item>


        
<item quantity="other">%d files found.</item>


    
</plurals>
 

%s : string   (문자열일경우)    %d : int    (숫자일경우)



JAVA

String.format(getResources().getQuantityString(R.plurals.file, 2), 4);
출력-> 4 files found.
String.format(getResources().getQuantityString(R.plurals.file, 1), 4);
출력-> One file found. 

출처: https://jhrun.tistory.com/123 [JHRunning]

git rejected error(feat. cherry-pick)

 문제 아무 생각 없이 pull을 받지않고 로컬에서 작업! 커밋, 푸시 진행을 해버렷다. push에선 remote와 다르니 당연히 pull을 진행해라고 하지만 로컬에서 작업한 내용을 백업하지 않고 진행하기에는 부담스럽다(로컬작업 유실 가능성) 해결하려...