SQL查询,其中定义来自另一个表
在此SQL查询中:SQL查询,其中定义来自另一个表,sql,sql-server,Sql,Sql Server,在此SQL查询中: SELECT * FROM CallRecords WHERE DNIS = '3216547' ORDER BY date DESC 但在DNIS=的WHERE语句中,我希望使用3216547,但请查看另一个表,我有一个不同DNI的列表,例如: 3216547 9874560 7418523 因此,通常的说法是: SELECT * FROM CallRecords WHERE (DNIS = '3216547' OR DNIS = '9874560' DNIS =
SELECT * FROM CallRecords
WHERE DNIS = '3216547'
ORDER BY date DESC
但在DNIS=的WHERE语句中,我希望使用3216547,但请查看另一个表,我有一个不同DNI的列表,例如:
3216547
9874560
7418523
因此,通常的说法是:
SELECT * FROM CallRecords
WHERE (DNIS = '3216547' OR DNIS = '9874560' DNIS = '7418523')
ORDER BY date DESC
这个带有三个的查询很好,但我希望在有400个DNIS条目可供选择的地方进行查询。我是否能够在WHERE子句中执行子查询,或者这是否可能
SELECT * FROM CallRecords
WHERE DNIS IN (SELECT DNIS FROM DNIS_TABLE)
ORDER BY date DESC
如果需要其他表中的所有DNI,可以执行该查询
SELECT *
FROM CallRecords
WHERE DNIS IN (SELECT DNIS FROM OtherTable [...])
ORDER BY date DESC
如果需要其他表中的所有DNI,可以执行该查询
SELECT *
FROM CallRecords
WHERE DNIS IN (SELECT DNIS FROM OtherTable [...])
ORDER BY date DESC
如果需要其他表中的所有DNI,可以执行该查询
SELECT *
FROM CallRecords
WHERE DNIS IN (SELECT DNIS FROM OtherTable [...])
ORDER BY date DESC
如果您需要其他表中的所有数据,您可以进行该查询。如果您想从其他表中获取数字,可以使用子查询:
SELECT *
FROM CallRecords
WHERE DNIS IN (SELECT DNIS FROM OtherTable [...])
ORDER BY date DESC
SELECT * FROM CallRecords
WHERE DNIS IN (SELECT DISTINCT DNIS FROM DNIS_TABLE)
ORDER BY date DESC
如果要从其他taale获取数字,可以使用子查询:
SELECT * FROM CallRecords
WHERE DNIS IN (SELECT DISTINCT DNIS FROM DNIS_TABLE)
ORDER BY date DESC
如果要从其他taale获取数字,可以使用子查询:
SELECT * FROM CallRecords
WHERE DNIS IN (SELECT DISTINCT DNIS FROM DNIS_TABLE)
ORDER BY date DESC
如果要从其他taale获取数字,可以使用子查询:
SELECT * FROM CallRecords
WHERE DNIS IN (SELECT DISTINCT DNIS FROM DNIS_TABLE)
ORDER BY date DESC
我只会使用联接而不是子查询。如果需要过滤另一个表上的dnis值,请像通常那样使用where子句进行过滤
select c.*
from callrecords c
join dnis_tbl d
on c.dnis = d.dnis
order by date desc
但是,如果另一个表的每个DNI值包含多行,则需要在where子句中使用子查询将其缩减为一行。如果索引正确,则可能比使用distinct执行得更好。我只使用联接而不是子查询。如果需要过滤另一个表上的dnis值,请像通常那样使用where子句进行过滤
select c.*
from callrecords c
join dnis_tbl d
on c.dnis = d.dnis
order by date desc
但是,如果另一个表的每个DNI值包含多行,则需要在where子句中使用子查询将其缩减为一行。如果索引正确,则可能比使用distinct执行得更好。我只使用联接而不是子查询。如果需要过滤另一个表上的dnis值,请像通常那样使用where子句进行过滤
select c.*
from callrecords c
join dnis_tbl d
on c.dnis = d.dnis
order by date desc
但是,如果另一个表的每个DNI值包含多行,则需要在where子句中使用子查询将其缩减为一行。如果索引正确,则可能比使用distinct执行得更好。我只使用联接而不是子查询。如果需要过滤另一个表上的dnis值,请像通常那样使用where子句进行过滤
select c.*
from callrecords c
join dnis_tbl d
on c.dnis = d.dnis
order by date desc
但是,如果另一个表的每个DNI值包含多行,则需要在where子句中使用子查询将其缩减为一行,如果索引正确,则可能比使用distinct执行得更好。是的,可以使用子查询执行此操作。当您尝试它时发生了什么?我确实从CallRecords中选择了*,其中DNIS=SELECT*从DNISList ORDER BY date DESC中选择,它说:子查询返回了多个值。当子查询在=、!=、=或者当子查询用作表达式时。是的,您可以使用子查询执行此操作。当您尝试它时发生了什么?我确实从CallRecords中选择了*,其中DNIS=SELECT*从DNISList ORDER BY date DESC中选择,它说:子查询返回了多个值。当子查询在=、!=、=或者当子查询用作表达式时。是的,您可以使用子查询执行此操作。当您尝试它时发生了什么?我确实从CallRecords中选择了*,其中DNIS=SELECT*从DNISList ORDER BY date DESC中选择,它说:子查询返回了多个值。当子查询在=、!=、=或者当子查询用作表达式时。是的,您可以使用子查询执行此操作。当您尝试它时发生了什么?我确实从CallRecords中选择了*,其中DNIS=SELECT*从DNISList ORDER BY date DESC中选择,它说:子查询返回了多个值。当子查询在=、!=、=或者当子查询用作表达式时。