MySQL registerSMSusers 및 GroupsSMS 에 2 개의 테이블이 있습니다. 두 테이블 모두 이름이 mobile 이라는 열이 있습니다 . HTML 양식에서 test,alltest,john
. 이러한 쉼표로 구분 된 값은 두 테이블 중 하나에 표시됩니다. 예를 들어 test (이름 열)는 registerSMSusers에 있고 alltest 는 GroupsSMS (GroupName 열)에 있습니다.
Java에서는 쉼표로 나눈 다음 테이블에 있는지 여부를 확인할 수 있습니다.있는 경우 모바일을 가져옵니다. 동일한 SQL 쿼리가 있는지 알고 싶었습니다.
이것은 SQL 스키마입니다.
DROP TABLE IF EXISTS `GroupsSMS`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `GroupsSMS` (
`Name` varchar(50) DEFAULT NULL,
`email` varchar(50) DEFAULT NULL,
`mobile` varchar(20) DEFAULT NULL,
`GroupName` varchar(20) DEFAULT NULL,
`GroupID` int(11) NOT NULL AUTO_INCREMENT,
`dataselected` varchar(50) DEFAULT NULL,
PRIMARY KEY (`GroupID`)
) ENGINE=MyISAM AUTO_INCREMENT=191 DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `registerSmsUsers`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `registerSmsUsers` (
`name` varchar(50) DEFAULT NULL,
`email` varchar(50) DEFAULT NULL,
`mobile` varchar(20) DEFAULT NULL,
`uid` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`uid`),
UNIQUE KEY `mobile` (`mobile`),
UNIQUE KEY `email` (`email`)
) ENGINE=MyISAM AUTO_INCREMENT=83 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
그리고 이것은 sqlfiddle입니다
Java에서 문자열을 분할했습니다.
String names[] = csv.split(',');
당신이 중 하나에 해당하는 휴대 전화 번호를 검색 할 수 있습니다 registerSmsUsers
또는 GroupsSMS
함께
PreparedStatement stmt = conn.prepareStatment("select u.mobile from registerSmsuser u where u.name = ? union select g.mobile from GroupsSMS g where g.groupname = ?");
stmt.setString(1, names[0]);
stmt.setString(2, names[0]);
ResultSet rs = stmt.executeQuery();
if (rs.first()) {
// do something with the mobile number
}
이렇게하면 사용자 및 그룹 테이블에서 항목이 선택됩니다. 번호의 출처를 알아야하는 경우 선택 항목에 고정 문자열을 추가 할 수 있습니다.
select u.mobile, 'user' as origin from registerSmsuser u ...
union
select g.mobile, 'groups' as origin from GroupsSMS g ...
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다