누군가 제발 나를 도와 줄 수 있는지 궁금합니다.SQL 가입 문제
두 개의 mySQL 데이터베이스 테이블에서 정보를 병합하는 데 문제가 있습니다.
지금까지 작성한 쿼리가 아래에 나와 있습니다.
<?php
require("phpfile.php");
// Start XML file, create parent node
$dom = new DOMDocument("1.0");
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
// Opens a connection to a MySQL server
$connection=mysql_connect ("hostname", $username, $password);
if (!$connection) { die('Not connected : ' . mysql_error());}
// Set the active MySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
die ('Can\'t use db : ' . mysql_error());
}
$query = "SELECT findid,
findosgb36lat,
findosgb36lon,
findcategory,
findname,
finddescription
FROM finds
WHERE makepublic = 'Yes'
AND sites.sitetype,
sites.sitedescription,
sites.siteosgb36lat,
sites.osgb36lon";
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
header("Content-type: text/xml");
// Iterate through the rows, adding XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
// ADD TO XML DOCUMENT NODE
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("findosgb36lat",$row['findosgb36lat']);
$newnode->setAttribute("findosgb36lon",$row['findosgb36lon']);
$newnode->setAttribute("findcategory",$row['findcategory']);
$newnode->setAttribute("findname",$row['findname']);
$newnode->setAttribute("finddescription",$row['finddescription']);
}
echo $dom->saveXML();
?>
내가 가진 문제는 내가 'makepublic'값이 '예'인 '발견'테이블에서 모든 '사이트'테이블에서의 레코드 만 레코드를 당겨하는 방법을 잘 모르겠어요 것입니다 . 특정 조인 즉 왼쪽 또는 오른쪽이 작동하는지 여부를 확인하기 위해 조사를 해봤지만 표 사이에 공통 필드가 없기 때문에 이들이 작동하지 않는다는 것을 알고 있습니다.
아마도 누군가이 문제를 해결할 수있는 방법을 보여줄 수 있습니까?
많은 감사 테이블 구조에 대한 몇 가지 큰 가정을 만들기
테이블 사이에 공통 필드가 없으면 어떤 방식으로 서로 연결할 수 있습니까? 아마도 UNION을 찾고 있습니까? – Jodaka
조인보다 [유니온] (http://dev.mysql.com/doc/refman/5.0/en/union.html)과 비슷하지만 일반적인 열은 없지만 데이터를 정렬하려면 어떻게해야합니까? (내가 테이블의 결혼을 정확하게 이해하지 않는 한) –
각 테이블의 스키마는 무엇입니까? 동일하거나 동일한 필드를 선택하면 공용체를 사용할 수 있습니다. –