2016-03-21 29 views
1

Ben böyle katılmak gerçekleştiren iki tablonun içeriğini almak:Bir json aynı anahtar değerini içerebilir mi?

SELECT * FROM table1 
    INNER JOIN table2 
    ON table1.code = table2.code 

Şimdi table1 sahip böyle bir yapısı:

|CODE|Info|Created   |Modified 
|R789|Home|21/03/2016 10:00 |21/03/2016 15:00 

ve table2: Artık

|CODE|Description|Created  |Modified 
|R789|Testing| 21/03/2016 10:05 | 21/03/2016 18:10 

Sorun şu soruyu döndürüyor:

"Code":"RB01", 
"Info":Home, 
"Created":"21/03/2016 10:05", 
"Modified":"21/03/2016 18:10", 
"Description":"Testing" 

Gördüğünüz gibi iki tabloda aynı olan created ve modified var. Bu nedenle, sorguve modified'un table1 numarasını atıyor. Bu benim için bir sorun, bu durumdan nasıl kurtulabilirim?

+0

onlar iki tablo neyi temsil ediyor döndürür: Bu düşünün? İstenen sonuç nedir? – showdev

+0

@showdev 'table1' öğenin bir listesidir. 'Table2' her bir öğenin açıklamasını içerir, ikinci tablonun R789 gibi birden fazla koda sahip olabileceğini unutmayın ... Şimdi iki tablonun tüm alanlarını döndürmek istiyorum. – Sandokan

cevap

4

Sütun adı için AS keyword to create an alias kullanmanız gerekir.

SELECT t1.CODE, t1.Info, t1.Created AS t1Created, t1.Modified AS t1Modified, t2.Description, t2.Created AS t2Created, t2.Modified AS t2Modified 
    FROM table1 t1 
    INNER JOIN table2 t2 ON t1.CODE = t2.CODE 

Bu

"Code":"RB01", 
"Info":Home, 
"t1Created":"21/03/2016 10:00", 
"t1Modified":"21/03/2016 15:00", 
"Description":"Testing", 
"t2Created":"21/03/2016 10:05", 
"t2Modified":"21/03/2016 18:10", 
+0

Yani binlerce alanım varsa, sorgum 100 satır olacak? – Sandokan

+1

Üzgünüm, ama bu hiç mantıklı değil. Tablodaki satır sayısı üzerinde kaç alanın korelasyonu yoktur. – Styphon

+0

Hayır, ben kötü açıklandım. Yani, bunu yapmak yerine, SELECT t1.CODE, t1.Info, t1Created AS t1Created, t1Modified AS t1Modified' yapmak mümkündür: 'SELECT * from table1' ve aynı sonucu elde etmek? – Sandokan

İlgili konular