Bu SQL nasıl yazılır?Bir SQL deyiminde iki sütun nasıl yapılır
Table A Column aa
-----
jack
jim
alan
Table B Column bb
-----
jacky
jimmy
william
çıktısı:
-----
jack jacky
jim jimmy
aa adlı değer bb alt dize olduğu için.
Bu SQL nasıl yazılır?Bir SQL deyiminde iki sütun nasıl yapılır
Table A Column aa
-----
jack
jim
alan
Table B Column bb
-----
jacky
jimmy
william
çıktısı:
-----
jack jacky
jim jimmy
aa adlı değer bb alt dize olduğu için.
Select aa, bb
from a, b
where a.aa like '%' + b.bb + '%'
OR b.bb like '%' + a.aa + '%'
gibi bir şey deneyebilirsiniz '||' arasında insteaf '+'
Sen alt dize gelen bir desen oluşturabilirsinizSen kullandığınız ihtiyaç oracle için concat ('%', alan, '%')
kullanmak gerek mysql için
DECLARE @TableA TABLE(
AA VARCHAR(20)
)
INSERT INTO @TableA SELECT 'jack'
INSERT INTO @TableA SELECT 'jim'
INSERT INTO @TableA SELECT 'alan'
DECLARE @TableB TABLE(
BB VARCHAR(20)
)
INSERT INTO @TableB SELECT 'jacky'
INSERT INTO @TableB SELECT 'jimmy'
INSERT INTO @TableB SELECT 'william'
SELECT *
FROM @TableA A,
@TableB B
WHERE B.BB LIKE '%' + A.AA + '%'
:
select a.aa, b.bb
from TableA a
inner join TableB b on b.bb like '%' + a.aa + '%'
Böyle bir şey yapabilirsiniz:
SELECT
a.aa, b.bb
FROM
a
JOIN
b ON b.bb like '%' + a.aa + '%'
Ama bulabilirsiniz çünkü çok dikkatli olmak zorunda Aynı ad için birden fazla satır döndü.
Bu benim için çalışıyor:
SELECT
a.aa, b.bb
FROM
a
JOIN
b ON b.bb like '%' || a.aa || '%'
performansını artırmak için, Kullanım Sanal sütununda (index vb oluşturabilirsiniz).
create table text2(
x number(10),
x1 as ('%'||x||'%'))
insert into text2 (x) values ('100')
insert into text2 (x) values ('33')
commit
select * from text2
create table text1
(x number(10));
insert into text1 values (100);
insert into text1 values (1001);
insert into text1 values (3300);
commit;
select text1.x, text2.x1 from text1 , text2
where text1.x like text2.x1
X X1 33% 33% % 100
sanal sütun hakkında daha fazla bilgi için,% 100, http://www.dba-oracle.com/oracle11g/oracle_11g_function_based_columns.htm
-Raj
SQLite da 'kullanır ||'. –
|| ORACLE için! HQL için de çalışıyor. – Deian