1
Böyle bir sorgu şey var (hayır, benim tablolar ve alanlar bu isimler tarafından çağrılan değildir, ancak yapı aynıdır) - Tamam çalışırSorgumdan neden seçemiyorum?
SELECT table1.id, table2.id, table1.phone1
FROM table1 LEFT OUTER JOIN
table3 ON table3.id = table1.id LEFT OUTER JOIN
table2 ON table3.id2 = table2.id
WHERE table1.phone1 IS NOT NULL AND LTRIM(RTRIM(table1.phone1)) <> ''
UNION
SELECT table1.id, table2.id, table1.phone2
FROM table1 LEFT OUTER JOIN
table3 ON table3.id = table1.id LEFT OUTER JOIN
table2 ON table3.id2 = table2.id
WHERE table1.phone2 IS NOT NULL AND LTRIM(RTRIM(table1.phone2)) <> ''
UNION
SELECT table1.id, table2.id, table2.phone
FROM table1 LEFT OUTER JOIN
table3 ON table3.id = table1.id LEFT OUTER JOIN
table2 ON table3.id2 = table2.id
WHERE table2.phone IS NOT NULL AND LTRIM(RTRIM(table2.phone)) <> ''
. Ondan seçmek çalıştığınızda Fakat, bu nedenle gibi (ben sonunda vs. grup bys ile manipüle etmeye çalışıyorum, ama şimdilik sadece basit bir seçme çalıştı olacaktır):
SELECT * FROM
(SELECT table1.id, table2.id, table1.phone1
FROM table1 LEFT OUTER JOIN
table3 ON table3.id = table1.id LEFT OUTER JOIN
table2 ON table3.id2 = table2.id
WHERE table1.phone1 IS NOT NULL AND LTRIM(RTRIM(table1.phone1)) <> ''
UNION
SELECT table1.id, table2.id, table1.phone2
FROM table1 LEFT OUTER JOIN
table3 ON table3.id = table1.id LEFT OUTER JOIN
table2 ON table3.id2 = table2.id
WHERE table1.phone2 IS NOT NULL AND LTRIM(RTRIM(table1.phone2)) <> ''
UNION
SELECT table1.id, table2.id, table2.phone
FROM table1 LEFT OUTER JOIN
table3 ON table3.id = table1.id LEFT OUTER JOIN
table2 ON table3.id2 = table2.id
WHERE table2.phone IS NOT NULL AND LTRIM(RTRIM(table2.phone)) <> '')
hatayı alıyorum:
Incorrect syntax near ')'.
Neyi yanlış yapıyorum?
+1: Sabah olduğunu söyleyebilirim, ona baktığımda bunu düşünmedim. – Powerlord
Çok teşekkürler! Bunu unuttuğum bir şey olduğunu biliyordum ... şimdi çalışıyor :) – froadie
+1 önemsiz ama hızlı bul! – Konerak