表格如下所示:
CountryId CountryName MemberType
143 AUT 1
171 AUT 2
202 AUT 3
206 BE 1
这是我运行查询时得到的结果:
CountryName IsType1 IsType2
AUT Y N
AUT N Y
AUT N N
BE Y N
我的问题是我希望它只显示每个国家/地区名称一行。如果它是type1和类型2,那么每个CountryName都有多个CountryId,所以我不知道该怎么做。
这就是我想要的:
CountryName IsType1 IsType2
AUT Y Y
BE Y N
这就是我的代码:
SELECT
CountryName=c.CountryCode_ISO3166
,IsType1=CASE WHEN cm.CountryMemberTypeId = 1 then 'Y' else 'N' end
,IsType2=CASE WHEN cm.CountryMemberTypeId = 2 then 'Y' else 'N' end
FROM static.Country c
inner JOIN static.CountryMemberOfType cmem ON C.CountryId = cmem.CountryId
inner join static.CountryMemberType cm on cm.CountryMemberTypeId=cmem.CountryMemberTypeId
order by CountryCode_ISO3166
答案 0 :(得分:0)
使用条件聚合:
<?php
define('DB_HOST', 'localhost');
define('DB_NAME', 'vinod');
define('DB_USER','vinod');
define('DB_PASSWORD','vinod1');
$con= mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysqli_error());
$db= mysqli_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysqli_error());
/ $ID = $_POST['username']; $Password = $_POST['password']; /
function SignIn()
{
session_start(); //starting the session for user profile page
if(!empty($_POST['username'])) //checking the 'user' name which is from Sign-In.html, is it empty or have some text
{
$query = mysqli_query("SELECT * FROM login where UserName = '$_POST[username]' AND pass = '$_POST[password]'") or die(mysqli_error());
$row = mysqli_fetch_array($query) or die(mysqli_connect_error());
if(!empty($row['UserName']) AND !empty($row['password']))
{
$_SESSION['UserName'] = $row['password'];
header('Location: rms_app.html');
}
else
{
header('Location: welcomepage.html');
}
}
}
if(isset($_POST['login']))
{
SignIn();
}
?>