[英]MySQL query to select from two tables
我正在尝试编写一个使用两个表的MySQL查询。
表1包含一个名为“ Avail”的字段表2包含一个名为“ CompDate”的字段
两个表都包含一个名为“ UniqueID”的字段
我需要的查询应该查看表1,其中“ Avail”包含“ 3”,表2“ CompDate”包含例如“ 2013-08-26”
如果存在匹配项,请运行查询。
我尝试了许多JOINS组合,但均未成功。 查询的目的是将返回的数据复制到新表“ $ NewTable”中,该表在运行此查询之前已创建。
我的示例查询:
mysql_select_db($database_iPin, $conn);
$query_Hist_Temp_Insert = sprintf("INSERT INTO ".$NewTable." ( RecordID,UniqueID,HotelID,Room,AuditBy,AuditorID,LastAudit,Complete,Fail,CompleteDate)
SELECT RecordID,UniqueID,HotelID,Room,AuditBy,AuditorID,LastAudit,Complete,Fail,CompleteDate
FROM RUB_Hist
WHERE CompStamp <= '".$FromDate."'");
我在此示例中未包括JOIN,因为我尝试的方法不起作用。
任何人都可以看到如何做到这一点。 感觉好像我一直在努力使它工作几天。
非常感谢您的宝贵时间。
干杯
我使用了下面提供的代码:
SELECT RUB_Hist.RecordID, RUB_Hist.UniqueID, CompleteDate,CompStamp
FROM RUB_Hist INNER JOIN RUB_Avail
ON RUB_Hist.UniqueID = RUB_Avail.UniqueID
WHERE RUB_Avail.Avail = '3' AND RUB_Hist.CompStamp <= '2014-01-01'
如果我从查询中删除“ AND RUB_Hist.CompStamp <='2014-01-01'”,则返回零。
我已仔细检查以确保RUB_Hist.CompStamp包含日期小于我的测试日期的记录。
我减少了返回测试的字段。
根据您告诉我们的内容,此查询应与您要查找的内容相似。 它在您的两个表的UniqueID
列之间进行UniqueID
,并包含具有两个限制的WHERE
子句。
INSERT INTO NewTable
SELECT t1.*, t2.*
FROM Table1 t1 INNER JOIN
Table2 t2
ON t1.UniqueID = t2.UniqueID
WHERE t1.Avail = '3' AND t2.CompDate = '2013-08-26'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.